Wyszukiwanie lokalizacji przy użyciu usługi Azure Mapy usługa wyszukiwania s
Usługa Search to zestaw interfejsów API RESTful, które ułatwiają deweloperom wyszukiwanie adresów, miejsc i list biznesowych według nazw, kategorii i innych informacji geograficznych. Oprócz obsługi tradycyjnego geokodowania usługi mogą również odwrócić adresy geokodów i ulice na podstawie szerokości geograficznej i długości geograficznej. Wartości szerokości i długości geograficznej zwracane przez wyszukiwanie mogą być używane jako parametry w innych usługach Azure Mapy, takich jak Route i Weather.
W tym artykule pokazano, jak:
- Żądaj współrzędnych szerokości i długości geograficznej adresu (lokalizacji adresu geokodu) przy użyciu adresu wyszukiwania.
- Wyszukaj adres lub punkt orientacyjny (POI) przy użyciu funkcji wyszukiwania rozmytego.
- Użyj wyszukiwania odwrotnego adresu, aby przetłumaczyć lokalizację współrzędnych na adres ulicy.
- Przetłumacz lokalizację współrzędnych na zrozumiałą ulicę krzyżową przy użyciu adresu wyszukiwania Reverse Cross Street, najczęściej potrzebne w aplikacjach śledzących, które otrzymują kanał informacyjny GPS z urządzenia lub zasobu i chcą wiedzieć, gdzie znajduje się współrzędna.
Wymagania wstępne
W tym samouczku jest używana aplikacja Postman , ale możesz wybrać inne środowisko programistyczne interfejsu API.
Żądanie szerokości geograficznej i długości geograficznej dla adresu (geokodowanie)
W przykładzie w tej sekcji użyto funkcji Pobierz adres wyszukiwania, 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ź zwraca również szczegółowe właściwości adresu, takie jak ulica, kod pocztowy, gminy i informacje o kraju/regionie.
Napiwek
Jeśli masz zestaw adresów do geokodowania, możesz użyć usługi Batch post search, aby wysłać partię zapytań w jednym żądaniu.
W aplikacji Postman wybierz pozycję Nowy , aby utworzyć żądanie. W oknie Tworzenie nowego wybierz pozycję Żądanie HTTP. Wprowadź nazwę żądania dla żądania.
Wybierz metodę GET HTTP na karcie konstruktora i wprowadź następujący adres URL. W tym żądaniu wyszukujemy określony adres:
400 Braod St, Seattle, WA 98109
. W przypadku tego żądania i innych żądań wymienionych w tym artykule zastąp{Your-Azure-Maps-Subscription-key}
ciąg kluczem subskrypcji usługi Azure Mapy.https://atlas.microsoft.com/search/address/json?&subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&language=en-US&query=400 Broad St, Seattle, WA 98109
Wybierz niebieski przycisk Wyślij . Treść odpowiedzi zawiera dane dla jednej lokalizacji.
Następnie wyszukaj adres zawierający więcej niż jedną możliwą lokalizację. W sekcji Params zmień klucz na
query
400 Broad, Seattle
. Wybierz niebieski przycisk Wyślij .Następnie spróbuj ustawić
query
klucz na400 Broa
.Kliknij przycisk Wyślij. Odpowiedź zawiera wyniki z wielu krajów/regionów. Aby uzyskać wyniki geobiazy do odpowiedniego obszaru dla użytkowników, zawsze dodaj jak najwięcej szczegółów lokalizacji do żądania.
Wyszukiwanie rozmyte
Wyszukiwanie rozmyte obsługuje standardowe wyszukiwanie jednowierszowe i bez formularzy. Zalecamy użycie interfejsu API rozmytego wyszukiwania usługi Azure Mapy Search, gdy nie znasz typu danych wejściowych użytkownika dla żądania wyszukiwania. Dane wejściowe zapytania mogą być pełnym lub częściowym adresem. Może to być również token punkt orientacyjny (POI), taki jak nazwa poi, kategoria poi lub nazwa marki. Ponadto, aby poprawić istotność wyników wyszukiwania, ogranicz wyniki zapytania przy użyciu lokalizacji współrzędnej i promienia lub definiując pole ograniczenia.
Napiwek
Większość zapytań wyszukiwania jest domyślna, aby maxFuzzyLevel=1
zwiększyć wydajność i zmniejszyć nietypowe wyniki. Dostosuj poziomy rozmycia przy użyciu parametrów maxFuzzyLevel
lub minFuzzyLevel
. Aby uzyskać więcej informacji na maxFuzzyLevel
temat parametrów opcjonalnych i pełną listę wszystkich parametrów opcjonalnych, zobacz Parametry identyfikatora URI rozmytego wyszukiwania.
Wyszukiwanie adresu przy użyciu wyszukiwania rozmytego
W przykładzie w tej sekcji użyto Fuzzy Search
funkcji wyszukiwania na całym świecie pod kątem pizzy, a następnie przeszukuje zakres określonego kraju/regionu. Na koniec pokazuje, jak używać lokalizacji współrzędnej i promienia, aby określić zakres wyszukiwania w określonym obszarze i ograniczyć liczbę zwracanych wyników.
Ważne
Aby uzyskać wyniki geobiazy do odpowiedniego obszaru dla użytkowników, zawsze dodaj jak najwięcej szczegółów lokalizacji. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania dotyczące wyszukiwania.
W aplikacji Postman wybierz pozycję Nowy , aby utworzyć żądanie. W oknie Tworzenie nowego wybierz pozycję Żądanie HTTP. Wprowadź nazwę żądania dla żądania.
Wybierz metodę GET HTTP na karcie konstruktora i wprowadź następujący adres URL. W przypadku tego żądania i innych żądań wymienionych w tym artykule zastąp
{Your-Azure-Maps-Subscription-key}
ciąg kluczem subskrypcji usługi Azure Mapy.https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza
Uwaga
Atrybut json w ścieżce adresu URL określa format odpowiedzi. W tym artykule użyto formatu JSON w celu ułatwienia użycia i czytelności. Aby znaleźć inne obsługiwane formaty odpowiedzi, zobacz definicję
format
parametru w dokumentacji referencyjnej parametru URI.Wybierz pozycję Wyślij i przejrzyj treść odpowiedzi.
Niejednoznaczny ciąg zapytania dla "pizza" zwrócił 10 punktów orientacyjnych ( POI) w kategoriach "pizza" i "restaurant". Każdy wynik zawiera szczegółowe informacje, takie jak adres ulicy, wartości szerokości geograficznej i długości geograficznej, wyświetlanie portu i punkty wejścia dla lokalizacji. Wyniki są teraz zróżnicowane dla tego zapytania i nie są powiązane z żadną lokalizacją referencyjną.
W następnym kroku użyjesz parametru
countrySet
, aby określić tylko kraje/regiony, dla których aplikacja wymaga pokrycia. Aby uzyskać pełną listę obsługiwanych krajów/regionów, zobacz Pokrycie wyszukiwania.Domyślne zachowanie polega na przeszukiwaniu całego świata, potencjalnie zwracaniu niepotrzebnych wyników. Następnie wyszukaj pizzę tylko w Stany Zjednoczone.
countrySet
Dodaj klucz do sekcji Params i ustaw jego wartość naUS
.countrySet
Ustawienie klucza w celuUS
ograniczenia wyników do Stany Zjednoczone.Wyniki są teraz ograniczone przez kod kraju, a zapytanie zwraca restauracje pizzy w Stany Zjednoczone.
Aby uzyskać jeszcze bardziej ukierunkowane wyszukiwanie, możesz wyszukać zakres pary współrzędnych lat/lon. W poniższym przykładzie użyto współrzędnych lat/lon seattle Space Needle. Ponieważ chcemy zwrócić wyniki tylko w promieniu 400 metrów, dodamy
radius
parametr . Ponadto dodamylimit
parametr, aby ograniczyć wyniki do pięciu najbliższych miejsc pizzy.W sekcji Params dodaj następujące pary klucz/wartość:
Key Wartość lat 47.620525 Lon -122.349274 Promień 400 limit 5 Wybierz Wyślij. Odpowiedź zawiera wyniki dla restauracji pizzy w pobliżu Seattle Space Needle.
Wyszukiwanie adresu ulicznego przy użyciu wyszukiwania odwrotnego adresu
Funkcja Get Search Address Reverse tłumaczy współrzędne na czytelne dla człowieka adresy uliczne. Ten interfejs API jest często używany w przypadku aplikacji korzystających z kanałów informacyjnych GPS i chce odnajdywać adresy w określonych punktach współrzędnych.
Ważne
Aby uzyskać wyniki geobiazy do odpowiedniego obszaru dla użytkowników, zawsze dodaj jak najwięcej szczegółów lokalizacji. Aby uzyskać więcej informacji, zobacz Najlepsze rozwiązania dotyczące wyszukiwania.
Napiwek
Jeśli masz zestaw lokalizacji współrzędnych do odwrócenia kodu geograficznego, możesz użyć funkcji Post Search Address Reverse Batch , aby wysłać partię zapytań w jednym żądaniu.
W tym przykładzie pokazano, że wyszukiwanie odwrotne jest używane przy użyciu kilku opcjonalnych parametrów, które są dostępne. Aby uzyskać pełną listę parametrów opcjonalnych, zobacz Reverse Search Parameters (Parametry wyszukiwania wstecznego).
W aplikacji Postman wybierz pozycję Nowy , aby utworzyć żądanie. W oknie Tworzenie nowego wybierz pozycję Żądanie HTTP. Wprowadź nazwę żądania dla żądania.
Wybierz metodę GET HTTP na karcie konstruktora i wprowadź następujący adres URL. W przypadku tego żądania i innych żądań wymienionych w tym artykule zastąp
{Your-Azure-Maps-Subscription-key}
ciąg kluczem subskrypcji usługi Azure Mapy. Żądanie powinno wyglądać podobnie do następującego adresu URL:https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700&number=1
Wybierz pozycję Wyślij i przejrzyj treść odpowiedzi. Powinien zostać wyświetlony jeden wynik zapytania. Odpowiedź zawiera kluczowe informacje o adresie Sejf co Field.
Następnie dodaj następujące pary klucz/wartość do sekcji Params :
Key Wartość Powroty Liczba 1 Odpowiedź może zawierać bok ulicy (w lewo/w prawo), a także położenie przesunięcia dla liczby. returnSpeedLimit prawda Zwraca limit prędkości na adresie. returnRoadUse prawda Zwraca typy użycia dróg pod adresem. Aby uzyskać informacje o wszystkich możliwych typach użycia dróg, zobacz Typy użycia dróg. returnMatchType prawda Zwraca typ dopasowania. Aby uzyskać wszystkie możliwe wartości, zobacz Wyniki wyszukiwania odwrotnego adresu. Wybierz pozycję Wyślij i przejrzyj treść odpowiedzi.
Następnie dodamy
entityType
klucz i ustawimy jego wartość naMunicipality
. KluczentityType
zastępujereturnMatchType
klucz w poprzednim kroku.returnSpeedLimit
areturnRoadUse
także trzeba usunąć, ponieważ żądasz informacji o gminie. Aby uzyskać informacje o wszystkich możliwych typach jednostek, zobacz Typy jednostek.Wybierz Wyślij. Porównaj wyniki z wynikami zwrócone w kroku 5. Ponieważ żądany typ jednostki to teraz
municipality
, odpowiedź nie zawiera informacji o adresie ulicy. Ponadto zwracanegeometryId
dane mogą służyć do żądania wielokąta granic za pośrednictwem interfejsu API usługi Azure Mapy Uzyskiwanie wielokąta wyszukiwania.
Napiwek
Aby uzyskać więcej informacji na temat tych i innych parametrów, zobacz Reverse Search Parameters (Parametry wyszukiwania wstecznego).
Wyszukiwanie ulic krzyżowych przy użyciu wyszukiwania odwrotnego adresu cross street
W tym przykładzie pokazano, jak wyszukiwać ulicę na podstawie współrzędnych adresu.
W aplikacji Postman wybierz pozycję Nowy , aby utworzyć żądanie. W oknie Tworzenie nowego wybierz pozycję Żądanie HTTP. Wprowadź nazwę żądania dla żądania.
Wybierz metodę GET HTTP na karcie konstruktora i wprowadź następujący adres URL. W przypadku tego żądania i innych żądań wymienionych w tym artykule zastąp
{Your-Azure-Maps-Subscription-key}
ciąg kluczem subskrypcji usługi Azure Mapy. Żądanie powinno wyglądać podobnie do następującego adresu URL:https://atlas.microsoft.com/search/address/reverse/crossstreet/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700
Wybierz pozycję Wyślij i przejrzyj treść odpowiedzi. Zwróć uwagę, że odpowiedź zawiera
crossStreet
wartośćSouth Atlantic Street
.