Azure Maps Biblioteka klienta wyszukiwania dla języka JavaScript — wersja 1.0.0-beta.2
/Typescript
Usługa wyszukiwania Azure Maps to zestaw interfejsów API RESTful zaprojektowanych w celu ułatwienia deweloperom wyszukiwania adresów, miejsc i ofert biznesowych według nazw, kategorii i innych informacji geograficznych. Oprócz obsługi tradycyjnego geokodowania usługi mogą również odwracać adresy geokodowania i ulice na podstawie szerokości geograficznej i długości geograficznej. Wartości szerokości geograficznej i długości geograficznej zwracane przez wyszukiwanie mogą być używane jako parametry w innych usługach Azure Maps, takich jak usługi Route i Weather.
Ten pakiet zawiera izomorficzny zestaw SDK (działa zarówno w Node.js, jak i w przeglądarkach) dla klienta usługi Azure Maps Search.
Kod | źródłowy Pakiet (NPM) | Próbki | Informacje o produkcie
Wprowadzenie
Obecnie obsługiwane środowiska
- Wersje ltS Node.js
- Najnowsze wersje przeglądarek Safari, Chrome, Edge i Firefox.
Wymagania wstępne
- Subskrypcja platformy Azure.
- Konto Azure Maps. Zasób można utworzyć za pomocą witryny Azure Portal, Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.
Jeśli używasz interfejsu wiersza polecenia platformy Azure, zamień <resource-group-name>
i <map-account-name>
wybierz odpowiednią warstwę cenową na podstawie Twoich potrzeb za pośrednictwem parametru <sku-name>
. Aby uzyskać więcej informacji, zapoznaj się z tą stroną .
az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>
Instalowanie pakietu @azure/maps-search
Zainstaluj bibliotekę klienta Azure Maps Search przy użyciu polecenia npm
:
npm install @azure/maps-search
Tworzenie i uwierzytelnianie MapsSearchClient
Aby utworzyć obiekt klienta w celu uzyskania dostępu do interfejsów API wyszukiwania Azure Maps, potrzebny credential
będzie obiekt. Klient usługi Azure Maps Search może uwierzytelnić się przy użyciu poświadczeń usługi Azure Active Directory lub poświadczeń klucza platformy Azure.
Używanie poświadczeń usługi Azure Active Directory
Możesz uwierzytelnić się w usłudze Azure Active Directory przy użyciu biblioteki azure Identity. Aby użyć poniższego dostawcy DefaultAzureCredential lub innych dostawców poświadczeń dostarczonych z zestawem Azure SDK, zainstaluj @azure/identity
pakiet:
npm install @azure/identity
Należy również zarejestrować nową aplikację usługi AAD i udzielić dostępu do Azure Maps, przypisując odpowiednią rolę do jednostki usługi. Zapoznaj się ze stroną Zarządzanie uwierzytelnianiem .
Ustaw wartości identyfikatora klienta, identyfikatora dzierżawy i wpisu tajnego klienta aplikacji usługi AAD jako zmienne środowiskowe: AZURE_CLIENT_ID
, , AZURE_CLIENT_SECRET
AZURE_TENANT_ID
.
Należy również określić zasób Azure Maps, którego zamierzasz użyć, określając clientId
w opcjach klienta.
Identyfikator klienta zasobu Azure Maps można znaleźć w sekcjach Uwierzytelnianie w zasobie Azure Maps. Zapoznaj się z dokumentacją dotyczącą sposobu jej znajdowania.
const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");
Używanie poświadczeń klucza subskrypcji
Możesz uwierzytelnić się przy użyciu klucza subskrypcji Azure Maps.
const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");
const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);
Kluczowe pojęcia
MapsSearchClient
MapsSearchClient
jest podstawowym interfejsem dla deweloperów korzystających z biblioteki klienta Azure Maps Search. Zapoznaj się z metodami w tym obiekcie klienta, aby zrozumieć różne funkcje Azure Maps usługa wyszukiwania, do których można uzyskać dostęp.
Przykłady
W poniższych sekcjach przedstawiono kilka fragmentów kodu obejmujących niektóre z najbardziej typowych zadań Azure Maps wyszukiwania, w tym:
- Żądaj współrzędnych szerokości geograficznej i długości geograficznej dla adresu
- Wyszukiwanie adresu lub punktu orientacyjnego
- Tworzenie wyszukiwania odwrotnego adresu w celu tłumaczenia lokalizacji współrzędnej na adres ulicy
- Przetłumacz lokalizację współrzędnych na zrozumiałą dla człowieka ulicę
Żądaj współrzędnych szerokości geograficznej i długości geograficznej dla adresu
Możesz użyć uwierzytelnionego klienta, aby przekonwertować adres na współrzędne szerokości i długości geograficznej. Ten proces jest również nazywany geokodowaniem. Oprócz zwracania współrzędnych odpowiedź zwróci również szczegółowe właściwości adresów, takie jak ulica, kod pocztowy, gmina i informacje o kraju/regionie.
const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
position: { lat, lon },
} of searchResult.results) {
console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}
Wyszukiwanie adresu lub punktu orientacyjnego
Wyszukiwanie rozmyte służy do wyszukiwania adresu lub punktu orientacyjnego (POI). W poniższym przykładzie pokazano, jak wyszukiwać pizza
zakres określonego kraju (France
w tym przykładzie).
const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
console.log(result);
}
Tworzenie wyszukiwania odwrotnego adresu w celu tłumaczenia lokalizacji współrzędnej na adres ulicy
Współrzędne można przetłumaczyć na czytelne dla człowieka adresy uliczne. Ten proces jest również nazywany odwrotnym geokodowaniem. Jest to często używane w aplikacjach, które używają kanałów informacyjnych GPS i chcą odnajdywać adresy w określonych punktach współrzędnych.
const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]
const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Przetłumacz lokalizację współrzędnych na zrozumiałą dla człowieka ulicę
Przetłumacz lokalizację współrzędnych na zrozumiałą dla człowieka ulicę, używając interfejsu API odwrotnego cross street adresu wyszukiwania. Najczęściej jest to wymagane w aplikacjach śledzenia, które odbierają kanał informacyjny GPS z urządzenia lub zasobu i chcą wiedzieć, gdzie znajduje się współrzędna.
const coordinates: LatLon = [47.59118, -122.3327];
const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Rozwiązywanie problemów
Rejestrowanie
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań HTTP i odpowiedzi, ustaw zmienną AZURE_LOG_LEVEL
środowiskową na info
. Możesz też włączyć rejestrowanie w czasie wykonywania, wywołując polecenie w elemecie setLogLevel
@azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Aby uzyskać bardziej szczegółowe instrukcje dotyczące włączania dzienników, zapoznaj się z dokumentami dotyczącymi pakietu @azure/rejestratora.
Następne kroki
Zapoznaj się z katalogiem samples , aby uzyskać szczegółowe przykłady dotyczące sposobu korzystania z tej biblioteki.
Współtworzenie
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat sposobu kompilowania i testowania kodu.
Powiązane projekty
Azure SDK for JavaScript