Dela via


Azure Maps Search-klientbibliotek för JavaScript – version 1.0.0-beta.2

/Maskin

Azure Maps Search Service är en uppsättning RESTful-API:er som är utformade för att hjälpa utvecklare att söka efter adresser, platser och företagslistor efter namn, kategori och annan geografisk information. Förutom att stödja traditionell geokodning kan tjänster även använda omvända geokodadresser och korsgator baserat på latitud och longitud. Latitud- och longitudvärden som returneras av sökningen kan användas som parametrar i andra Azure Maps tjänster, till exempel routnings- och vädertjänster.

Det här paketet innehåller en isomorf SDK (körs både i Node.js och i webbläsare) för Azure Maps Search-klienten.

| Källkod Paket (NPM) | Prover | Produktinformation

Komma igång

Miljöer som stöds för närvarande

Förutsättningar

Om du använder Azure CLI ersätter <resource-group-name> du och <map-account-name> väljer en lämplig prisnivå baserat på dina behov via parametern <sku-name> . Mer information finns på den här sidan .

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

Installera @azure/maps-search-paketet

Installera Azure Maps Search-klientbiblioteket med npm:

npm install @azure/maps-search

Skapa och autentisera en MapsSearchClient

Om du vill skapa ett klientobjekt för att få åtkomst till api:erna för Azure Maps search behöver du ett credential -objekt. Azure Maps Search-klienten kan använda en Azure Active Directory-autentiseringsuppgift eller en Azure Key-autentiseringsuppgift för att autentisera.

Använda en Azure Active Directory-autentiseringsuppgift

Du kan autentisera med Azure Active Directory med hjälp av Azure Identity-biblioteket. Om du vill använda DefaultAzureCredential-providern som visas nedan eller andra leverantörer av autentiseringsuppgifter som medföljer Azure SDK installerar @azure/identity du paketet:

npm install @azure/identity

Du måste också registrera ett nytt AAD-program och bevilja åtkomst till Azure Maps genom att tilldela lämplig roll till tjänstens huvudnamn. Se sidan Hantera autentisering .

Ange värdena för klient-ID, klient-ID och klienthemlighet för AAD-programmet som miljövariabler: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Du måste också ange den Azure Maps resurs som du vill använda genom att ange clientId i klientalternativen. Det Azure Maps resursklient-ID:t finns i avsnitten Autentisering i den Azure Maps resursen. Läs dokumentationen om hur du hittar den.

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

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

Använda autentiseringsuppgifter för prenumerationsnyckel

Du kan autentisera med din Azure Maps-prenumerationsnyckel.

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

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

Viktiga begrepp

MapsSearchClient

MapsSearchClientär det primära gränssnittet för utvecklare som använder klientbiblioteket Azure Maps Search. Utforska metoderna i det här klientobjektet för att förstå de olika funktionerna i Azure Maps tjänsten Search som du kan komma åt.

Exempel

I följande avsnitt finns flera kodfragment som täcker några av de vanligaste Azure Maps sökuppgifter, inklusive:

Begär latitud- och longitudkoordinater för en adress

Du kan använda en autentiserad klient för att konvertera en adress till latitud- och longitudkoordinater. Den här processen kallas även geokodning. Förutom att returnera koordinaterna kommer svaret också att returnera detaljerade adressegenskaper som gata, postnummer, kommun och land-/regioninformation.

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

Sök efter en adress eller punkt av intresse

Du kan använda Fuzzy Search för att söka efter en adress eller en orienteringspunkt (POI). I följande exempel visas hur du söker efter över omfånget för pizza ett visst land (Francei det här exemplet).

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

Gör en omvänd adresssökning för att översätta koordinatplatsen till gatuadressen

Du kan översätta koordinater till läsbara gatuadresser. Den här processen kallas även omvänd geokodning. Detta används ofta för program som använder GPS-flöden och vill identifiera adresser vid specifika koordinatpunkter.

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

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

Översätta koordinatplatsen till en mänsklig begriplig korsgata

Översätt koordinatplatsen till en mänsklig begriplig korsgata med hjälp av API:et reverse cross street för sökadress. Oftast behövs detta för att spåra program som tar emot ett GPS-flöde från en enhet eller tillgång och vill veta var koordinaten finns.

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

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

Felsökning

Loggning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg över HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Loggning kan också aktiveras vid körning genom att anropa setLogLevel i @azure/logger:

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

Mer detaljerade anvisningar om hur du aktiverar loggar finns i dokumentationen om @azure-/loggningspaket.

Nästa steg

Ta en titt på exempelkatalogen för detaljerade exempel på hur du använder det här biblioteket.

Bidra

Om du vill bidra till det här biblioteket kan du läsa bidragsguiden om du vill veta mer om hur du skapar och testar koden.

Visningar