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
- Versões LTS do Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Pré-requisitos
- Uma subscrição do Azure.
- Uma conta Azure Maps. Pode criar o recurso através do Portal do Azure, do Azure PowerShell ou da CLI do Azure.
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
- Procurar um endereço ou Ponto de Interesse
- Fazer uma Pesquisa de Endereço Inverso para traduzir a localização coordenada para o endereço de rua
- Traduzir localização coordenada para uma rua cruzada compreensível humana
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 (France
neste 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.
Projetos relacionados
Azure SDK for JavaScript