Mappe di Azure libreria client di ricerca per JavaScript - versione 1.0.0-beta.2
/TypeScript
Il Mappe di Azure servizio di ricerca è un set di API RESTful progettate per aiutare gli sviluppatori a cercare indirizzi, posizioni e elenchi aziendali in base al nome, alla categoria e ad altre informazioni geografiche. Oltre a supportare il geocoding tradizionale, i servizi possono anche invertire gli indirizzi geocodice e attraversare le strade in base alle latitudine e alle longitudini. I valori di latitudine e longitudine restituiti dalla ricerca possono essere usati come parametri in altri servizi Mappe di Azure, ad esempio Route e Weather services.
Questo pacchetto contiene un SDK isomorfo (eseguito sia in Node.js che nei browser) per Mappe di Azure client di ricerca.
Codice | sorgente Pacchetto (NPM) | Campioni | Informazioni sul prodotto
Introduzione
Ambienti attualmente supportati
- Versioni LTS di Node.js
- Versioni più recenti di Safari, Chrome, Edge e Firefox.
Prerequisiti
- Una sottoscrizione di Azure.
- Un account Mappe di Azure. È possibile creare la risorsa tramite il portale di Azure, il Azure PowerShell o l'interfaccia della riga di comando di Azure.
Se si usa l'interfaccia della riga di comando di Azure, sostituire <resource-group-name>
e <map-account-name>
scegliere un piano tariffario appropriato in base alle esigenze tramite il <sku-name>
parametro . Per altre informazioni, vedere questa pagina .
az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>
Installare il pacchetto @azure/maps-search
Installare la libreria client di ricerca Mappe di Azure con npm
:
npm install @azure/maps-search
Creare e autenticare un oggetto MapsSearchClient
Per creare un oggetto client per accedere alle API di ricerca Mappe di Azure, sarà necessario un credential
oggetto. Il client di ricerca Mappe di Azure può usare una credenziale di Azure Active Directory o una credenziale di Azure Key per l'autenticazione.
Uso di credenziali di Azure Active Directory
È possibile eseguire l'autenticazione con Azure Active Directory usando la libreria di identità di Azure. Per usare il provider DefaultAzureCredential illustrato di seguito o altri provider di credenziali forniti con Azure SDK, installare il @azure/identity
pacchetto:
npm install @azure/identity
Sarà anche necessario registrare una nuova applicazione AAD e concedere l'accesso a Mappe di Azure assegnando il ruolo appropriato all'entità servizio. Fare riferimento alla pagina Gestisci autenticazione .
Impostare i valori dell'ID client, dell'ID tenant e del segreto client dell'applicazione AAD come variabili di ambiente: AZURE_CLIENT_ID
, AZURE_TENANT_ID
AZURE_CLIENT_SECRET
.
È anche necessario specificare la risorsa Mappe di Azure che si intende usare specificando le clientId
opzioni del client.
L'ID client della risorsa Mappe di Azure è disponibile nelle sezioni Autenticazione nella risorsa Mappe di Azure. Per informazioni su come trovarlo, vedere la documentazione .
const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");
Uso di una credenziale della chiave di sottoscrizione
È possibile eseguire l'autenticazione con la chiave di sottoscrizione Mappe di Azure.
const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");
const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);
Concetti chiave
MapsSearchClient
MapsSearchClient
è l'interfaccia primaria per gli sviluppatori che usano la libreria client di ricerca Mappe di Azure. Esplorare i metodi in questo oggetto client per comprendere le diverse funzionalità dell'Mappe di Azure servizio di ricerca a cui è possibile accedere.
Esempio
Le sezioni seguenti forniscono diversi frammenti di codice che coprono alcune delle attività di ricerca più comuni Mappe di Azure, tra cui:
- Richiedere coordinate di latitudine e longitudine per un indirizzo
- Cercare un indirizzo o un punto di interesse
- Creare una ricerca di indirizzi inverso per tradurre la posizione di coordinata in indirizzo di strada
- Tradurre la posizione delle coordinate in una strada incrociata comprensibile
Richiedere coordinate di latitudine e longitudine per un indirizzo
È possibile usare un client autenticato per convertire un indirizzo in coordinate di latitudine e longitudine. Questo processo è anche denominato geocoding. Oltre a restituire le coordinate, la risposta restituirà anche proprietà di indirizzo dettagliate, ad esempio strada, codice postale, comune e informazioni sul paese/area geografica.
const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
position: { lat, lon },
} of searchResult.results) {
console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}
Cercare un indirizzo o un punto di interesse
È possibile usare Ricerca Fuzzy per cercare un indirizzo o un punto di interesse (POI). Nell'esempio seguente viene illustrato come cercare pizza
l'ambito di un paese specifico (France
in questo esempio).
const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
console.log(result);
}
Creare una ricerca di indirizzi inverso per tradurre la posizione di coordinata in indirizzo di strada
È possibile tradurre le coordinate in indirizzi stradali leggibili. Questo processo viene anche chiamato geocoding inverso. Questo viene spesso usato per le applicazioni che usano feed GPS e vogliono individuare gli indirizzi in punti di coordinate specifici.
const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]
const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Tradurre la posizione delle coordinate in una strada incrociata comprensibile
Tradurre la posizione di coordinata in una strada incrociata comprensibile umana usando l'API Search Address Cross Street. La maggior parte delle volte è necessaria nelle applicazioni di rilevamento che ricevono un feed GPS da un dispositivo o da un asset e desiderano sapere dove si trova la coordinata.
const coordinates: LatLon = [47.59118, -122.3327];
const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Risoluzione dei problemi
Registrazione
L'abilitazione della registrazione consente di individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL
su info
. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel
in @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto @azure/logger.
Passaggi successivi
Per esempi dettagliati su come usare questa libreria, vedere la directory degli esempi .
Contributo
Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript