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
- LTS-versioner av Node.js
- De senaste versionerna av Safari, Chrome, Edge och Firefox.
Förutsättningar
- En Azure-prenumeration.
- Ett Azure Maps konto. Du kan skapa resursen via Azure-portalen, Azure PowerShell eller Azure CLI.
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
- Sök efter en adress eller punkt av intresse
- Gör en omvänd adresssökning för att översätta koordinatplatsen till gatuadressen
- Översätta koordinatplatsen till en mänsklig begriplig korsgata
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 (France
i 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.
Relaterade projekt
Azure SDK for JavaScript