Azure Maps clientbibliotheek zoeken naar JavaScript - versie 1.0.0-beta.2
/TypeScript
De Azure Maps Search Service is een set RESTful API's die zijn ontworpen om ontwikkelaars te helpen bij het zoeken naar adressen, plaatsen en bedrijfsvermeldingen op naam, categorie en andere geografische gegevens. Naast het ondersteunen van traditionele geocodering, kunnen services ook geocoderen van adressen en dwarsstraten omkeren op basis van breedte- en lengtegraden. Waarden voor de breedtegraad en lengtegraad die door de zoekopdracht worden geretourneerd, kunnen worden gebruikt als parameters in andere Azure Maps services, zoals route- en weerservices.
Dit pakket bevat een isomorfe SDK (wordt zowel in Node.js als in browsers uitgevoerd) voor Azure Maps Zoekclient.
Broncode | Pakket (NPM) | Monsters | Productinformatie
Aan de slag
Momenteel ondersteunde omgevingen
- LTS-versies van Node.js
- Nieuwste versies van Safari, Chrome, Edge en Firefox.
Vereisten
- Een Azure-abonnement.
- Een Azure Maps-account. U kunt de resource maken via Azure Portal, de Azure PowerShell of de Azure CLI.
Als u Azure CLI gebruikt, vervangt <resource-group-name>
u en <map-account-name>
van uw keuze en selecteert u een juiste prijscategorie op basis van uw behoeften via de <sku-name>
parameter . Raadpleeg deze pagina voor meer informatie.
az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>
Installeer het pakket @azure/maps-search
Installeer de Azure Maps Search-clientbibliotheek met npm
:
npm install @azure/maps-search
Een maken en verifiëren MapsSearchClient
Als u een clientobject wilt maken voor toegang tot de Azure Maps Search-API's, hebt u een credential
-object nodig. De Azure Maps Search-client kan een Azure Active Directory-referentie of een Azure Key-referentie gebruiken om te verifiëren.
Een Azure Active Directory-referentie gebruiken
U kunt zich verifiëren met Azure Active Directory met behulp van de Azure Identity-bibliotheek. Als u de hieronder weergegeven DefaultAzureCredential-provider of andere referentieproviders wilt gebruiken die bij de Azure SDK worden geleverd, installeert u het @azure/identity
pakket:
npm install @azure/identity
U moet ook een nieuwe AAD-toepassing registreren en toegang verlenen tot Azure Maps door de juiste rol toe te wijzen aan uw service-principal. Raadpleeg de pagina Verificatie beheren .
Stel de waarden van de client-id, tenant-id en clientgeheim van de AAD-toepassing in als omgevingsvariabelen: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
.
U moet ook de Azure Maps resource opgeven die u wilt gebruiken door de clientId
op te geven in de clientopties.
De Azure Maps resourceclient-id vindt u in de secties Verificatie in de Azure Maps resource. Raadpleeg de documentatie over hoe u deze kunt vinden.
const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");
Een abonnementssleutelreferentie gebruiken
U kunt zich verifiëren met uw Azure Maps abonnementssleutel.
const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");
const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);
Belangrijkste concepten
MapsSearchClient
MapsSearchClient
is de primaire interface voor ontwikkelaars die gebruikmaken van de Azure Maps Search-clientbibliotheek. Verken de methoden voor dit clientobject om inzicht te krijgen in de verschillende functies van de Azure Maps Search-service waartoe u toegang hebt.
Voorbeelden
De volgende secties bevatten verschillende codefragmenten die betrekking hebben op enkele van de meest voorkomende Azure Maps zoektaken, waaronder:
- Breedte- en lengtegraadcoördinaten aanvragen voor een adres
- Zoeken naar een adres of nuttige plaats
- Een omgekeerde adreszoekopdracht maken om coördinatenlocatie om te zetten in adres
- Coördinaatlocatie vertalen naar een voor mensen begrijpelijke dwarsstraat
Breedte- en lengtegraadcoördinaten aanvragen voor een adres
U kunt een geverifieerde client gebruiken om een adres te converteren naar breedte- en lengtegraadcoördinaten. Dit proces wordt ook wel geocodering genoemd. Naast het retourneren van de coördinaten, retourneert het antwoord ook gedetailleerde adreseigenschappen, zoals straat, postcode, gemeente en land/regio-informatie.
const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
position: { lat, lon },
} of searchResult.results) {
console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}
Zoeken naar een adres of nuttige plaats
U kunt Fuzzy Search gebruiken om een adres of nuttige plaats (POI) te zoeken. In het volgende voorbeeld ziet u hoe u kunt zoeken pizza
naar meer dan het bereik van een specifiek land (France
in dit voorbeeld).
const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
console.log(result);
}
Een omgekeerde adreszoekopdracht maken om coördinatenlocatie om te zetten in adres
U kunt coördinaten omzetten in door mensen leesbare adressen. Dit proces wordt ook wel omgekeerde geocodering genoemd. Dit wordt vaak gebruikt voor toepassingen die GPS-feeds gebruiken en adressen op specifieke coördinatenpunten willen detecteren.
const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]
const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Coördinaatlocatie vertalen naar een voor mensen begrijpelijke dwarsstraat
Vertaal coördinaatlocatie naar een voor mensen begrijpelijke dwarsstraat met behulp van zoekadres omgekeerde dwarsstraat-API. Meestal is dit nodig bij het bijhouden van toepassingen die een GPS-feed van een apparaat of asset ontvangen en willen weten waar de coördinaat zich bevindt.
const coordinates: LatLon = [47.59118, -122.3327];
const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Problemen oplossen
Logboekregistratie
Het inschakelen van logboekregistratie kan helpen bij het ontdekken van nuttige informatie over fouten. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de AZURE_LOG_LEVEL
omgevingsvariabele in op info
. U kunt logboekregistratie ook tijdens runtime inschakelen door aan te roepen setLogLevel
in de @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Voor meer gedetailleerde instructies over het inschakelen van logboeken kunt u de @azure-/loggerpakketdocumenten bekijken.
Volgende stappen
Bekijk de map met voorbeelden voor gedetailleerde voorbeelden van het gebruik van deze bibliotheek.
Bijdragen
Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.
Verwante projecten
Azure SDK for JavaScript