Udostępnij za pośrednictwem


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

Wymagania wstępne

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_SECRETAZURE_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

MapsSearchClientjest 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

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

Wrażenia