Partilhar via


Azure Maps Pesquisar biblioteca de cliente para JavaScript - versão 1.0.0-beta.2

/TypeScript

O Azure Maps Search Service é um conjunto de APIs RESTful concebidas para ajudar os programadores a procurar endereços, locais e listagens empresariais por nome, categoria e outras informações geográficas. Além de suportar a geocodificação tradicional, os serviços também podem reverter endereços geocódigos e ruas cruzadas com base em latitudes e longitudes. Os valores de latitude e longitude devolvidos pela pesquisa podem ser utilizados como parâmetros noutros serviços de Azure Maps, como serviços de Rota e Meteorologia.

Este pacote contém um SDK isomórfico (executado tanto em Node.js como em browsers) para Azure Maps cliente de Pesquisa.

Código fonte | Pacote (NPM) | Exemplos | Informações do Produto

Introdução

Ambientes atualmente suportados

Pré-requisitos

Se utilizar a CLI do Azure, substitua <resource-group-name> e <map-account-name> escolha e selecione um escalão de preço adequado com base nas suas necessidades através do <sku-name> parâmetro . Consulte esta página para obter mais detalhes.

az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>

Instalar o pacote @azure/maps-search

Instale a biblioteca de cliente do Azure Maps Search com npm:

npm install @azure/maps-search

Criar e autenticar um MapsSearchClient

Para criar um objeto de cliente para aceder às APIs de Pesquisa Azure Maps, precisará de um credential objeto. O cliente Azure Maps Search pode utilizar uma credencial do Azure Active Directory ou uma credencial de Chave do Azure para autenticar.

Utilizar uma Credencial do Azure Active Directory

Pode autenticar com o Azure Active Directory com a biblioteca de Identidade do Azure. Para utilizar o fornecedor DefaultAzureCredential apresentado abaixo ou outros fornecedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity pacote:

npm install @azure/identity

Também terá de registar uma nova aplicação do AAD e conceder acesso a Azure Maps ao atribuir a função adequada ao principal de serviço. Veja a página Gerir autenticação .

Defina os valores do ID do cliente, do ID do inquilino e do segredo do cliente da aplicação do AAD como variáveis de ambiente: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Também terá de especificar a Azure Maps recurso que pretende utilizar ao especificar as clientId opções do cliente. O ID do cliente do recurso Azure Maps pode ser encontrado nas secções Autenticação no recurso Azure Maps. Veja a documentação sobre como encontrá-la.

const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");

const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");

Utilizar uma Credencial de Chave de Subscrição

Pode autenticar com a chave de subscrição Azure Maps.

const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");

const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);

Conceitos-chave

MapsSearchClient

MapsSearchClienté a interface primária para programadores que utilizam a biblioteca de cliente Azure Maps Search. Explore os métodos neste objeto de cliente para compreender as diferentes funcionalidades do Azure Maps Serviço de pesquisa a que pode aceder.

Exemplos

As secções seguintes fornecem vários fragmentos de código que abrangem algumas das tarefas mais comuns do Azure Maps Search, incluindo:

Pedir coordenadas de latitude e longitude para um endereço

Pode utilizar um cliente autenticado para converter um endereço em coordenadas de latitude e longitude. Este processo também se chama geocodificação. Além de devolver as coordenadas, a resposta também devolverá propriedades detalhadas do endereço, como rua, código postal, município e informações de país/região.

const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
  position: { lat, lon },
} of searchResult.results) {
  console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}

Procurar um endereço ou Ponto de Interesse

Pode utilizar a Pesquisa Difusa para procurar um endereço ou um ponto de interesse (POI). O exemplo seguinte demonstra como procurar pizza sobre o âmbito de um país específico (Franceneste exemplo).

const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
  console.log(result);
}

Fazer uma Pesquisa de Endereço Inverso para traduzir a localização coordenada para o endereço de rua

Pode traduzir coordenadas em endereços de rua legíveis por humanos. Este processo também é denominado geocodificação inversa. Isto é frequentemente utilizado para aplicações que consomem feeds GPS e quer detetar endereços em pontos de coordenada específicos.

const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]

const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
  console.log(address);
}

Traduzir localização coordenada para uma rua cruzada compreensível humana

Traduzir a localização de coordenadas para uma rua transversal compreensível por humanos com a API De Rua Inversa do Endereço de Pesquisa. Na maioria das vezes, isto é necessário para controlar aplicações que recebem um feed GPS de um dispositivo ou recurso e querem saber onde está localizada a coordenada.

const coordinates: LatLon = [47.59118, -122.3327];

const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
  console.log(address);
}

Resolução de problemas

Registo

Ativar o registo pode ajudar a descobrir informações úteis sobre falhas. Para ver um registo de pedidos HTTP e respostas, defina a variável de AZURE_LOG_LEVEL ambiente como info. Em alternativa, o registo pode ser ativado no runtime ao chamar setLogLevel no @azure/logger:

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

Para obter instruções mais detalhadas sobre como ativar registos, pode ver os documentos do pacote de @azure/logger.

Passos seguintes

Veja o diretório de exemplos para obter exemplos detalhados sobre como utilizar esta biblioteca.

Contribuir

Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

Impressões