Sdílet prostřednictvím


klientská knihovna Azure Maps Search pro JavaScript – verze 1.0.0-beta.2

/Stroji

Vyhledávací služba Azure Maps je sada rozhraní RESTful API navržená tak, aby vývojářům pomohla vyhledávat adresy, místa a obchodní výpisy podle názvu, kategorie a dalších geografických informací. Kromě podpory tradičního geokódování můžou služby také obráceně zakódovat adresy a překračovat ulice na základě zeměpisné šířky a délky. Hodnoty zeměpisné šířky a délky vrácené vyhledáváním lze použít jako parametry v jiných Azure Maps službách, jako jsou služby Route a Weather.

Tento balíček obsahuje izomorfní sadu SDK (spouští se v Node.js i v prohlížečích) pro klienta služby Azure Maps Search.

Zdrojový kód | Balíček (NPM) | Vzorky | Informace o produktu

Začínáme

Aktuálně podporovaná prostředí

  • LtS verze Node.js
  • Nejnovější verze prohlížečů Safari, Chrome, Edge a Firefox.

Požadavky

Pokud používáte Azure CLI, nahraďte <resource-group-name> a <map-account-name> podle vlastního výběru a pomocí parametru <sku-name> vyberte správnou cenovou úroveň na základě vašich potřeb. Další podrobnosti najdete na této stránce .

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

Nainstalujte balíček @azure/maps-search.

Nainstalujte klientskou knihovnu služby Azure Maps Search pomocí nástroje npm:

npm install @azure/maps-search

Vytvoření a ověření MapsSearchClient

Pokud chcete vytvořit objekt klienta pro přístup k rozhraním AZURE MAPS Search API, budete potřebovat credential objekt . Klient služby Azure Maps Search může k ověřování použít přihlašovací údaje Azure Active Directory nebo přihlašovací údaje klíče Azure.

Použití přihlašovacích údajů Azure Active Directory

Ověřování pomocí Azure Active Directory můžete provést pomocí knihovny Azure Identity Library. Pokud chcete použít zprostředkovatele DefaultAzureCredential uvedeného níže nebo jiné zprostředkovatele přihlašovacích údajů poskytnuté se sadou Azure SDK, nainstalujte @azure/identity balíček :

npm install @azure/identity

Budete také muset zaregistrovat novou aplikaci AAD a udělit přístup k Azure Maps přiřazením vhodné role k instančnímu objektu. Projděte si stránku Správa ověřování .

Nastavte hodnoty ID klienta, ID tenanta a tajného klíče klienta aplikace AAD jako proměnné prostředí: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Budete také muset určit Azure Maps prostředek, který chcete použít, zadáním parametru clientId v možnostech klienta. ID klienta prostředku Azure Maps najdete v částech Ověřování prostředku Azure Maps. Informace o tom, jak ji najít, najdete v dokumentaci .

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

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

Použití přihlašovacích údajů klíče předplatného

K ověření můžete použít klíč předplatného Azure Maps.

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

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

Klíčové koncepty

MapsSearchClient

MapsSearchClientje primární rozhraní pro vývojáře, kteří používají klientskou knihovnu služby Azure Maps Search. Prozkoumejte metody tohoto objektu klienta a seznamte se s různými funkcemi Azure Maps Search, ke kterým máte přístup.

Příklady

Následující části obsahují několik fragmentů kódu, které pokrývají některé z nejběžnějších úloh Azure Maps vyhledávání, mezi které patří:

Vyžádání souřadnic zeměpisné šířky a délky pro adresu

Ověřeného klienta můžete použít k převodu adresy na souřadnice zeměpisné šířky a délky. Tento proces se také označuje jako geokódování. Kromě vrácení souřadnic vrátí odpověď také podrobné vlastnosti adresy, jako jsou například ulice, PSČ, obec a informace o zemi/oblasti.

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

Vyhledání adresy nebo bodu zájmu

K vyhledání adresy nebo bodu zájmu (POI) můžete použít funkci Přibližné vyhledávání. Následující příklad ukazuje, jak hledat pizza v oboru konkrétní země (Francev tomto příkladu).

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

Provedení zpětného vyhledávání adresy pro překlad souřadnicového umístění na adresu ulice

Souřadnice můžete přeložit na adresy ulic, které jsou čitelné pro člověka. Tento proces se také označuje jako reverzní geokódování. To se často používá pro aplikace, které využívají informační kanály GPS a chtějí zjistit adresy v konkrétních souřadnicích.

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

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

Překlad umístění souřadnic na srozumitelnou křížovou ulici

Umístění souřadnic můžete přeložit na srozumitelnou křížovou ulici pomocí rozhraní API Prohledat adresu Reverse Cross Street. Nejčastěji je to potřeba při sledování aplikací, které přijímají informační kanál GPS ze zařízení nebo prostředku a chtějí vědět, kde se souřadnice nachází.

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

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

Řešení potíží

protokolování

Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL prostředí na info. Případně je možné protokolování povolit za běhu voláním setLogLevel v :@azure/logger

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

Podrobnější pokyny k povolení protokolů najdete v dokumentaci k balíčkům @azure/protokolovacího nástroje.

Další kroky

Podrobné příklady použití této knihovny najdete v adresáři ukázek .

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.

Imprese