Delen via


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

Vereisten

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

MapsSearchClientis 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

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

Weergaven