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
- Předplatné Azure
- Účet Azure Maps. Prostředek můžete vytvořit prostřednictvím webu Azure Portal, Azure PowerShell nebo Azure CLI.
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
MapsSearchClient
je 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
- Vyhledání adresy nebo bodu zájmu
- Provedení zpětného vyhledávání adresy pro překlad souřadnicového umístění na adresu ulice
- Překlad umístění souřadnic na srozumitelnou křížovou ulici
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ě (France
v 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.
Související projekty
Azure SDK for JavaScript