Condividi tramite


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

Prerequisiti

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_IDAZURE_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

È 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 (Francein 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.

Impression