Search

Operations

Get Search Address

Geokodowanie adresu

Dotyczy : S0 i S1 warstw cenowych.

W wielu przypadkach pełna usługa wyszukiwania może być zbyt duża, na przykład jeśli interesuje Cię tylko tradycyjne geokodowanie. Wyszukiwanie może być również dostępne w celu wyszukania wyłącznie adresu. Geokodowanie jest wykonywane przez naciśnięcie punktu końcowego geokodowego z tylko adresem lub częściowym adresem. Indeks wyszukiwania geokodowania będzie badany dla wszystkiego powyżej danych poziomu ulic. Nie zostaną zwrócone żadne punktów POI. Należy zauważyć, że geokod jest bardzo odporny na literówki i niekompletne adresy. Będzie również obsługiwać wszystko z dokładnych adresów ulic lub ulic lub przedziałów, a także wyższy poziom lokalizacje geograficzne, taki jak centra miast, zliczenia, Stany itd.

Get Search Address Reverse

Odwróć kod geokodowania do adresu

Dotyczy : S0 i S1 warstw cenowych.

Mogą wystąpić sytuacje, w których konieczne jest przetłumaczenie współrzędnych (przykład: 37,786505,-122,3862) na adres ulicy zrozumiałej dla człowieka. Najczęściej jest to konieczne w przypadku śledzenia aplikacji, w których otrzymujesz kanał GPS z urządzenia lub zasobu i chcesz wiedzieć, jaki adres znajduje się w lokalizacji. Ten punkt końcowy będzie zwracać informacje o adresie dla danej współrzędnej.

Get Search Address Reverse Cross Street

Odwróć kod do skrzyżowania

Dotyczy : S0 i S1 warstw cenowych.

Mogą wystąpić sytuacje, w których trzeba przetłumaczyć współrzędną (przykład: 37,786505,-122,3862) na krzyżowo zrozumiały dla człowieka. Najczęściej jest to konieczne w przypadku śledzenia aplikacji, w których otrzymujesz kanał GPS z urządzenia lub zasobu i chcesz wiedzieć, jaki adres znajduje się w lokalizacji. Ten punkt końcowy zwróci informacje o skrzyżowaniu dla danej współrzędnych.

Get Search Address Structured

Geokodowanie adresów strukturalnych

Dotyczy : S0 i S1 warstw cenowych.

Można również uzyskać dostęp do geokodowania adresów platformy Azure dla adresu strukturalnego. Indeks wyszukiwania geokodowania będzie badany dla wszystkiego powyżej danych poziomu ulic. Nie zostaną zwrócone żadne punktów POI. Należy zauważyć, że geokod jest bardzo odporny na literówki i niekompletne adresy. Będzie również obsługiwać wszystko z dokładnych adresów ulic lub ulic lub przedziałów, a także wyższy poziom lokalizacje geograficzne, taki jak centra miast, zliczenia, Stany itd.

Get Search Fuzzy

Wyszukiwanie w postaci bezpłatnej formularza

Dotyczy : S0 i S1 warstw cenowych.

Podstawowy domyślny interfejs API to wyszukiwanie w postaci bezpłatnej, które obsługuje najbardziej rozmyte dane wejściowe obsługujące dowolną kombinację adresów lub tokenów punkt POI. Ten interfejs API wyszukiwania to kanoniczny element "wyszukiwanie jednowierszowe". Interfejs API wyszukiwania w postaci bezpłatnej jest bezproblemową kombinacją punkt POI wyszukiwania i geokodowania. Interfejs API może być również ważony przy użyciu pozycji kontekstowej (/Lon.. para) lub w pełni ograniczone przez współrzędną i promień lub może być wykonywane bardziej ogólnie bez żadnego geograficznie punktu zakotwiczenia.

Zdecydowanie zalecamy użycie parametru "countrySet", aby określić tylko kraje, dla których aplikacja wymaga pokrycia, ponieważ domyślne zachowanie będzie przeszukiwać cały świat, potencjalnie zwracając niepotrzebne wyniki.

Np.: countrySet = US, fr

Aby uzyskać pełną listę wszystkich obsługiwanych krajów, zobacz pokrycie wyszukiwania .

Większość zapytań wyszukiwania domyślnie jest równa maxFuzzyLevel 2, aby uzyskać wydajność, a także zmniejszyć nietypowe wyniki. Ta nowa wartość domyślna może zostać przesłonięta w razie konieczności na żądanie przez przekazanie zapytania param maxFuzzyLevel = 3 lub 4.

Get Search Nearby

Wyszukiwanie w pobliżu

Dotyczy : S0 i S1 warstw cenowych.

Jeśli masz przypadek użycia do pobierania tylko wyników punkt POI wokół określonej lokalizacji, Metoda wyszukiwania w pobliżu może być właściwym wyborem. Ten punkt końcowy zwróci tylko wyniki punkt POI i nie przyjmuje parametru zapytania wyszukiwania.

Get Search POI

Pobierz punkt POI według nazwy

Dotyczy : S0 i S1 warstw cenowych.

Wyszukiwanie punktów orientacyjnych (punkt POI) umożliwia żądanie punkt POI wyników według nazwy. Wyszukiwanie obsługuje dodatkowe parametry zapytania, takie jak język i filtrowanie wyników według obszaru zainteresowania według kraju lub pola ograniczenia. Punkt końcowy zwróci tylko wyniki punkt POI pasujące do ciągu zapytania. Odpowiedź zawiera szczegóły punkt POI, takie jak adres, lokalizacja współrzędnych i Kategoria.

Get Search POI Category

Pobierz punkt POI według kategorii

Dotyczy : S0 i S1 warstw cenowych.

Kryteria wyszukiwania kategorii "punkty orientacyjne" (punkt POI) umożliwiają żądanie wyników punkt POI z danej kategorii. Wyszukiwanie umożliwia zapytanie punktów POI z jednej kategorii w danym momencie. Punkt końcowy zwróci tylko wyniki punkt POI, które są klasyfikowane jako określone. Odpowiedź zawiera szczegóły punkt POI, takie jak adres, lokalizacja Współrzędna i klasyfikacja.

Get Search POI Category Tree Preview

Pobierz drzewo kategorii punkt POI

Dotyczy : S0 i S1 warstw cenowych.

Interfejs API kategorii punkt POI zawiera pełną listę kategorii i podkategorii obsługiwanych punktów (punkt POI), a także ich tłumaczenia i synonimy. Zwrócona zawartość może służyć do zapewnienia bardziej zrozumiałych wyników za pomocą innych Search Service interfejsów API, takich jak pobieranie punkt POI wyszukiwania.

Get Search Polygon

Pobierz Wielokąt

Dotyczy : warstwa cenowa S1.

Usługa Get Wielokąt umożliwia zażądanie danych geometrycznych, takich jak miejscowość lub miasto kraju dla zestawu jednostek, wcześniej pobrane z żądania wyszukiwania online w formacie GEOJSON. Identyfikator geometrii jest zwracany w obiekcie DataSources w obszarze "geometria" i "ID" w adresie wyszukiwania lub wyszukiwać rozmyte wywołanie.

Należy pamiętać, że każdy identyfikator geometrii pobrany z punktu końcowego wyszukiwania online ma ograniczony okres istnienia. Klient nie powinien przechowywać identyfikatorów geometrii w magazynie trwałym do późniejszego odwołania, ponieważ stabilność tych identyfikatorów nie jest gwarantowana przez długi czas. Oczekuje się, że żądanie do metody wielokąta zostanie wykonane w ciągu kilku minut od żądania do metody wyszukiwania online, która dostarczyła ten identyfikator. Usługa umożliwia obsługę żądań wsadowych do 20 identyfikatorów.

Post Search Address Batch

Interfejs API usługi Batch dla adresów wyszukiwania

Dotyczy : warstwa cenowa S1.

Interfejs API usługi Batch adresów wyszukiwania wysyła partie zapytań do interfejsu API adresów wyszukiwania przy użyciu tylko jednego wywołania interfejsu API. Interfejs API usługi Batch adresów wyszukiwania można wywołać, aby uruchomić asynchronicznie (asynchronicznie) lub synchronicznie (Synchronize). Asynchroniczny interfejs API umożliwia obiektowi wywołującemu przetwarzanie wsadowe do 10 000 zapytań i synchronizowanie interfejsu API do 100 zapytań.

Prześlij żądanie synchronicznej partii

Synchroniczny interfejs API jest zalecany dla uproszczonych żądań usługi Batch. Gdy usługa odbiera żądanie, będzie odpowiadać zaraz po obliczeniu elementów wsadowych i nie będzie możliwości późniejszego pobrania wyników. Synchroniczny interfejs API zwróci błąd limitu czasu (odpowiedź 408), jeśli żądanie trwa dłużej niż 60 sekund. Liczba elementów wsadowych jest ograniczona do 100 dla tego interfejsu API.

POST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

Prześlij asynchroniczne żądanie partii

Asynchroniczny interfejs API jest odpowiedni do przetwarzania dużych ilości relatywnie złożonych żądań wyszukiwania

  • Umożliwia pobieranie wyników w osobnym wywołaniu (możliwe jest wielokrotne pobranie).
  • Asynchroniczny interfejs API jest zoptymalizowany pod kątem niezawodności i nie jest oczekiwany do przekroczenia limitu czasu.
  • Liczba elementów wsadowych jest ograniczona do 10 000 dla tego interfejsu API.

Po otrzymaniu żądania przy użyciu żądania asynchronicznego usługa domyślnie zwraca kod odpowiedzi 202 w adresie URL przekierowania w polu Lokalizacja nagłówka odpowiedzi. Ten adres URL powinien być okresowo sprawdzany do momentu udostępnienia danych odpowiedzi lub informacji o błędzie. Odpowiedzi asynchroniczne są przechowywane przez 14 dni. Adres URL przekierowania zwraca odpowiedź 404, jeśli jest używany po upłynięciu okresu ważności.

Należy pamiętać, że asynchroniczne żądanie wsadowe jest długotrwałym żądaniem. Oto Typowa sekwencja operacji:

  1. Klient wysyła żądanie partii adresów wyszukiwania POST do Azure Maps

  2. Serwer odpowie z jedną z następujących czynności:

    202 AcceptedŻądanie HTTP-Batch zostało zaakceptowane.

    HTTP Error — Wystąpił błąd podczas przetwarzania żądania partii. Może to być 400 Bad Request albo dowolny inny Error kod stanu.

  3. Jeśli żądanie wsadowe zostało zaakceptowane pomyślnie, Location nagłówek w odpowiedzi zawiera adres URL umożliwiający pobranie wyników żądania wsadowego. Ten identyfikator URI jest następujący:

    GET https://atlas.microsoft.com/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. Klient wystawia GET żądanie na adres URL pobierania uzyskany w kroku 3, aby pobrać wyniki partii.

Opublikuj treść dla żądania usługi Batch

Aby wysłać zapytania dotyczące adresów wyszukiwania , będzie używane POST żądanie, w którym treść żądania będzie zawierać batchItems tablicę w json formacie, a Content-Type nagłówek zostanie ustawiony na application/json . Oto przykładowa treść żądania zawierająca 5 zapytań dotyczących adresów wyszukiwania :

{
    "batchItems": [
        {"query": "?query=400 Broad St, Seattle, WA 98109&limit=3"},
        {"query": "?query=One, Microsoft Way, Redmond, WA 98052&limit=3"},
        {"query": "?query=350 5th Ave, New York, NY 10118&limit=1"},
        {"query": "?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000"},
        {"query": "?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1"}
    ]
}

Zapytanie adresu wyszukiwania w partii jest tylko częściowym adresem URL bez protokołu, podstawowy adres URL, ścieżka, interfejs API-Version i klucz subskrypcji. Może zaakceptować dowolne z obsługiwanych parametrów identyfikatora URI adresu wyszukiwania . Wartości ciągu w zapytaniu adresu wyszukiwania muszą być poprawnie poddane ucieczki (np. "znak powinien zostać zmieniony za pomocą" \ ), a także powinien być poprawnie zakodowany w adresie URL.

Asynchroniczny interfejs API umożliwia obiektowi wywołującemu przetwarzanie wsadowe do 10 000 zapytań i synchronizowanie interfejsu API do 100 zapytań, a partia powinna zawierać co najmniej 1 zapytanie.

Pobieranie asynchronicznych wyników partii

Aby pobrać asynchroniczne wyniki partii, zostanie GET wysłane żądanie do punktu końcowego pobierania wsadowego. Ten adres URL pobierania można uzyskać z Location nagłówka pomyślnego POST żądania usługi Batch i wygląda następująco:

https://atlas.microsoft.com/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

Oto Typowa sekwencja operacji pobierania wyników partii:

  1. Klient wysyła GET żądanie przy użyciu adresu URL pobierania.

  2. Serwer odpowie z jedną z następujących czynności:

    202 AcceptedŻądanie HTTP-Batch zostało zaakceptowane, ale jest nadal przetwarzane. Spróbuj ponownie za jakiś czas.

    200 OKŻądanie HTTP-Batch zostało pomyślnie przetworzone. Treść odpowiedzi zawiera wszystkie wyniki partii.

Model odpowiedzi wsadowych

Zwracana zawartość danych jest podobna do żądań asynchronicznych i synchronizacji. W przypadku pobierania wyników żądania asynchronicznej partii, jeśli przetwarzanie wsadowe zostało zakończone, treść odpowiedzi zawiera odpowiedź wsadową. Ta odpowiedź wsadowa zawiera summary składnik wskazujący totalRequests , że był częścią pierwotnego żądania wsadowego, successfulRequests czyli zapytania, które zostały wykonane pomyślnie. Odpowiedź usługi Batch zawiera również batchItems tablicę zawierającą odpowiedzi dla każdej kwerendy i każdego zapytania w żądaniu usługi Batch. batchItemsProgram będzie zawierać wyniki w dokładnie takiej samej kolejności, w jakiej oryginalne zapytania zostały wysłane w żądaniu wsadowym. Każdy element w batchItems zawiera statusCode response pola i. Każdy response z batchItems nich w ma jeden z następujących typów:

  • SearchAddressResponse — Jeśli zapytanie zostało ukończone pomyślnie.

  • Error — Jeśli zapytanie nie powiodło się. Odpowiedź będzie zawierać i a code message w tym przypadku.

Poniżej przedstawiono przykładową odpowiedź na partię z 2 sukcesem i 1 wynik niepowodzenia :

{
    "summary": {
        "successfulRequests": 2,
        "totalRequests": 3
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response":
            {
                "summary": {
                    "query": "one microsoft way redmond wa 98052"
                },
                "results": [
                    {
                        "position": {
                            "lat": 47.63989,
                            "lon": -122.12509
                        }
                    }
                ]
            }
        },
        {
            "statusCode": 200,
            "response":
            {
                "summary": {
                    "query": "pike pl seattle wa 98101"
                },
                "results": [
                    {
                        "position": {
                            "lat": 47.60963,
                            "lon": -122.34215
                        }
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
Post Search Address Reverse Batch

Interfejs API odwrotnej sekwencji adresów wyszukiwania

Dotyczy : warstwa cenowa S1.

Interfejs API usługi Batch adresów wyszukiwania wysyła partie zapytań w celu odwrócenia interfejsu API wyszukiwania adresów przy użyciu tylko jednego wywołania interfejsu API. Możesz wywołać interfejs API wycofywania usługi Batch dla adresów wyszukiwania, aby uruchomić asynchronicznie (asynchronicznie) lub synchronicznie (synchronizacja). Asynchroniczny interfejs API umożliwia obiektowi wywołującemu przetwarzanie wsadowe do 10 000 zapytań i synchronizowanie interfejsu API do 100 zapytań.

Prześlij żądanie synchronicznej partii

Synchroniczny interfejs API jest zalecany dla uproszczonych żądań usługi Batch. Gdy usługa odbiera żądanie, będzie odpowiadać zaraz po obliczeniu elementów wsadowych i nie będzie możliwości późniejszego pobrania wyników. Synchroniczny interfejs API zwróci błąd limitu czasu (odpowiedź 408), jeśli żądanie trwa dłużej niż 60 sekund. Liczba elementów wsadowych jest ograniczona do 100 dla tego interfejsu API.

POST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

Prześlij asynchroniczne żądanie partii

Asynchroniczny interfejs API jest odpowiedni do przetwarzania dużych ilości relatywnie złożonych żądań wyszukiwania

  • Umożliwia pobieranie wyników w osobnym wywołaniu (możliwe jest wielokrotne pobranie).
  • Asynchroniczny interfejs API jest zoptymalizowany pod kątem niezawodności i nie jest oczekiwany do przekroczenia limitu czasu.
  • Liczba elementów wsadowych jest ograniczona do 10 000 dla tego interfejsu API.

Po otrzymaniu żądania przy użyciu żądania asynchronicznego usługa domyślnie zwraca kod odpowiedzi 202 w adresie URL przekierowania w polu Lokalizacja nagłówka odpowiedzi. Ten adres URL powinien być okresowo sprawdzany do momentu udostępnienia danych odpowiedzi lub informacji o błędzie. Odpowiedzi asynchroniczne są przechowywane przez 14 dni. Adres URL przekierowania zwraca odpowiedź 404, jeśli jest używany po upłynięciu okresu ważności.

Należy pamiętać, że asynchroniczne żądanie wsadowe jest długotrwałym żądaniem. Oto Typowa sekwencja operacji:

  1. Klient wysyła żądanie partii adresów wyszukiwania POST do Azure Maps

  2. Serwer odpowie z jedną z następujących czynności:

    202 AcceptedŻądanie HTTP-Batch zostało zaakceptowane.

    HTTP Error — Wystąpił błąd podczas przetwarzania żądania partii. Może to być 400 Bad Request albo dowolny inny Error kod stanu.

  3. Jeśli żądanie wsadowe zostało zaakceptowane pomyślnie, Location nagłówek w odpowiedzi zawiera adres URL umożliwiający pobranie wyników żądania wsadowego. Ten identyfikator URI jest następujący:

    GET https://atlas.microsoft.com/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. Klient wystawia GET żądanie na adres URL pobierania uzyskany w kroku 3, aby pobrać wyniki partii.

Opublikuj treść dla żądania usługi Batch

Aby wysłać zapytania zwrotne adresu wyszukiwania , będzie używane POST żądanie, w którym treść żądania będzie zawierać batchItems tablicę w json formacie, a Content-Type nagłówek zostanie ustawiony na application/json . Oto przykładowa treść żądania zawierająca 5 zapytań zwrotnych adresów wyszukiwania :

{
    "batchItems": [
        {"query": "?query=48.858561,2.294911"},
        {"query": "?query=47.639765,-122.127896&radius=5000&limit=2"},
        {"query": "?query=47.621028,-122.348170"},
        {"query": "?query=43.722990,10.396695"},
        {"query": "?query=40.750958,-73.982336"}
    ]
}

Zapytanie zwrotne adresu wyszukiwania w partii jest tylko częściowym adresem URL bez protokołu, podstawowego adresu URL, ścieżki, interfejsu API-Version i klucza subskrypcji. Może zaakceptować dowolny z obsługiwanych parametrów zwrotnego identyfikatora URIadresu wyszukiwania. Wartości parametrów w zapytaniu wstecznym adresu wyszukiwania muszą być poprawnie zmienione (np. "znak powinien zostać zmieniony za pomocą" \ ), a także powinien być poprawnie zakodowany w adresie URL.

Asynchroniczny interfejs API umożliwia obiektowi wywołującemu przetwarzanie wsadowe do 10 000 zapytań i synchronizowanie interfejsu API do 100 zapytań, a partia powinna zawierać co najmniej 1 zapytanie.

Pobieranie asynchronicznych wyników partii

Aby pobrać asynchroniczne wyniki partii, zostanie GET wysłane żądanie do punktu końcowego pobierania wsadowego. Ten adres URL pobierania można uzyskać z Location nagłówka pomyślnego POST żądania usługi Batch i wygląda następująco:

https://atlas.microsoft.com/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

Oto Typowa sekwencja operacji pobierania wyników partii:

  1. Klient wysyła GET żądanie przy użyciu adresu URL pobierania.

  2. Serwer odpowie z jedną z następujących czynności:

    202 AcceptedŻądanie HTTP-Batch zostało zaakceptowane, ale jest nadal przetwarzane. Spróbuj ponownie za jakiś czas.

    200 OKŻądanie HTTP-Batch zostało pomyślnie przetworzone. Treść odpowiedzi zawiera wszystkie wyniki partii.

Model odpowiedzi wsadowych

Zwracana zawartość danych jest podobna do żądań asynchronicznych i synchronizacji. W przypadku pobierania wyników żądania asynchronicznej partii, jeśli przetwarzanie wsadowe zostało zakończone, treść odpowiedzi zawiera odpowiedź wsadową. Ta odpowiedź wsadowa zawiera summary składnik wskazujący totalRequests , że był częścią pierwotnego żądania wsadowego, successfulRequests czyli zapytania, które zostały wykonane pomyślnie. Odpowiedź usługi Batch zawiera również batchItems tablicę zawierającą odpowiedzi dla każdej kwerendy i każdego zapytania w żądaniu usługi Batch. batchItemsProgram będzie zawierać wyniki w dokładnie takiej samej kolejności, w jakiej oryginalne zapytania zostały wysłane w żądaniu wsadowym. Każdy element w batchItems zawiera statusCode response pola i. Każdy response z batchItems nich w ma jeden z następujących typów:

  • SearchAddressReverseResponse — Jeśli zapytanie zostało ukończone pomyślnie.

  • Error — Jeśli zapytanie nie powiodło się. Odpowiedź będzie zawierać i a code message w tym przypadku.

Poniżej przedstawiono przykładową odpowiedź na partię z 2 sukcesem i 1 wynik niepowodzenia :

{
    "summary": {
        "successfulRequests": 2,
        "totalRequests": 3
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response":
            {
                "summary": {
                    "queryTime": 11
                },
                "addresses": [
                    {
                        "address": {
                            "country": "France",
                            "freeformAddress": "Avenue Anatole France, 75007 Paris"
                        },
                        "position": "48.858490,2.294820"
                    }
                ]
            }
        },
        {
            "statusCode": 200,
            "response":
            {
                "summary": {
                    "queryTime": 1
                },
                "addresses": [
                    {
                        "address": {
                            "country": "United States of America",
                            "freeformAddress": "157th Pl NE, Redmond WA 98052"
                        },
                        "position": "47.640470,-122.129430"
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
Post Search Along Route

Dotyczy : S0 i S1 warstw cenowych.

Punkt końcowy usługi Search w marszrucie umożliwia wykonywanie wyszukiwania rozmytego dla punktów POI w określonej trasie. To wyszukiwanie jest ograniczone przez określenie maxDetourTime miary ograniczającej.

Aby wysłać punkty trasy, należy użyć POST żądania, gdzie treść żądania będzie zawierać route obiekt reprezentowany jako GeoJSON LineString Typ, a Content-Type nagłówek zostanie ustawiony na application/json . Każdy punkt trasy w programie route jest reprezentowany jako GeoJSON Position Typ, czyli tablica, w której następuje wartość szerokości geograficznej , a wartość wysokość jest ignorowana. routePowinien zawierać co najmniej 2 punkty trasy.

Istnieje możliwość zmiany oryginalnej trasy. niektóre punkty jej punktów mogą zostać pominięte. Jeśli trasa przechodząca przez znaleziony punkt jest szybsza niż oryginalna, detourTime wartość w odpowiedzi jest ujemna.

Post Search Fuzzy Batch

Przeszukaj rozmyte interfejsy API usługi Batch

Dotyczy : warstwa cenowa S1.

Interfejs API usługi Batch adresów wyszukiwania wysyła partie zapytań w celu przeszukiwania rozmytego interfejsu API przy użyciu tylko jednego wywołania interfejsu API. Możesz wywołać interfejs API rozmytej usługi Batch dla adresu wyszukiwania, aby uruchomić asynchronicznie (asynchronicznie) lub synchronicznie (synchronizacja). Asynchroniczny interfejs API umożliwia obiektowi wywołującemu przetwarzanie wsadowe do 10 000 zapytań i synchronizowanie interfejsu API do 100 zapytań.

Prześlij żądanie synchronicznej partii

Synchroniczny interfejs API jest zalecany dla uproszczonych żądań usługi Batch. Gdy usługa odbiera żądanie, będzie odpowiadać zaraz po obliczeniu elementów wsadowych i nie będzie możliwości późniejszego pobrania wyników. Synchroniczny interfejs API zwróci błąd limitu czasu (odpowiedź 408), jeśli żądanie trwa dłużej niż 60 sekund. Liczba elementów wsadowych jest ograniczona do 100 dla tego interfejsu API.

POST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

Prześlij asynchroniczne żądanie partii

Asynchroniczny interfejs API jest odpowiedni do przetwarzania dużych ilości relatywnie złożonych żądań wyszukiwania

  • Umożliwia pobieranie wyników w osobnym wywołaniu (możliwe jest wielokrotne pobranie).
  • Asynchroniczny interfejs API jest zoptymalizowany pod kątem niezawodności i nie jest oczekiwany do przekroczenia limitu czasu.
  • Liczba elementów wsadowych jest ograniczona do 10 000 dla tego interfejsu API.

Po otrzymaniu żądania przy użyciu żądania asynchronicznego usługa domyślnie zwraca kod odpowiedzi 202 w adresie URL przekierowania w polu Lokalizacja nagłówka odpowiedzi. Ten adres URL powinien być okresowo sprawdzany do momentu udostępnienia danych odpowiedzi lub informacji o błędzie. Odpowiedzi asynchroniczne są przechowywane przez 14 dni. Adres URL przekierowania zwraca odpowiedź 404, jeśli jest używany po upłynięciu okresu ważności.

Należy pamiętać, że asynchroniczne żądanie wsadowe jest długotrwałym żądaniem. Oto Typowa sekwencja operacji:

  1. Klient wysyła żądanie partii adresów wyszukiwania POST do Azure Maps

  2. Serwer odpowie z jedną z następujących czynności:

    202 AcceptedŻądanie HTTP-Batch zostało zaakceptowane.

    HTTP Error — Wystąpił błąd podczas przetwarzania żądania partii. Może to być 400 Bad Request albo dowolny inny Error kod stanu.

  3. Jeśli żądanie wsadowe zostało zaakceptowane pomyślnie, Location nagłówek w odpowiedzi zawiera adres URL umożliwiający pobranie wyników żądania wsadowego. Ten identyfikator URI jest następujący:

    GET https://atlas.microsoft.com/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. Klient wystawia GET żądanie na adres URL pobierania uzyskany w kroku 3, aby pobrać wyniki partii.

Opublikuj treść dla żądania usługi Batch

Aby wysłać zapytania rozmyte wyszukiwania , będzie używane POST żądanie, w którym treść żądania będzie zawierać batchItems tablicę w json formacie, a Content-Type nagłówek zostanie ustawiony na application/json . Oto przykładowa treść żądania zawierająca 5 zapytań rozmytych wyszukiwania :

{
    "batchItems": [
        {"query": "?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5"},
        {"query": "?query=Statue Of Liberty&limit=2"},
        {"query": "?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000"},
        {"query": "?query=Space Needle"},
        {"query": "?query=pizza&limit=10"}
    ]
}

Zapytanie rozmyte wyszukiwania w partii jest tylko częściowym adresem URL bez protokołu, podstawowego adresu URL, ścieżki, interfejsu API-Version i klucza subskrypcji. Może akceptować dowolne obsługiwane parametry rozmytego identyfikatora URIwyszukiwania. Wartości ciągu w zapytaniu rozmytego wyszukiwania muszą być poprawnie zmienione (np. "znak powinien zostać zmieniony za pomocą" \ ), a także powinien być poprawnie zakodowany w adresie URL.

Asynchroniczny interfejs API umożliwia obiektowi wywołującemu przetwarzanie wsadowe do 10 000 zapytań i synchronizowanie interfejsu API do 100 zapytań, a partia powinna zawierać co najmniej 1 zapytanie.

Pobieranie asynchronicznych wyników partii

Aby pobrać asynchroniczne wyniki partii, zostanie GET wysłane żądanie do punktu końcowego pobierania wsadowego. Ten adres URL pobierania można uzyskać z Location nagłówka pomyślnego POST żądania usługi Batch i wygląda następująco:

https://atlas.microsoft.com/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

Oto Typowa sekwencja operacji pobierania wyników partii:

  1. Klient wysyła GET żądanie przy użyciu adresu URL pobierania.

  2. Serwer odpowie z jedną z następujących czynności:

    202 AcceptedŻądanie HTTP-Batch zostało zaakceptowane, ale jest nadal przetwarzane. Spróbuj ponownie za jakiś czas.

    200 OKŻądanie HTTP-Batch zostało pomyślnie przetworzone. Treść odpowiedzi zawiera wszystkie wyniki partii.

Model odpowiedzi wsadowych

Zwracana zawartość danych jest podobna do żądań asynchronicznych i synchronizacji. W przypadku pobierania wyników żądania asynchronicznej partii, jeśli przetwarzanie wsadowe zostało zakończone, treść odpowiedzi zawiera odpowiedź wsadową. Ta odpowiedź wsadowa zawiera summary składnik wskazujący totalRequests , że był częścią pierwotnego żądania wsadowego, successfulRequests czyli zapytania, które zostały wykonane pomyślnie. Odpowiedź usługi Batch zawiera również batchItems tablicę zawierającą odpowiedzi dla każdej kwerendy i każdego zapytania w żądaniu usługi Batch. batchItemsProgram będzie zawierać wyniki w dokładnie takiej samej kolejności, w jakiej oryginalne zapytania zostały wysłane w żądaniu wsadowym. Każdy element w batchItems zawiera statusCode response pola i. Każdy response z batchItems nich w ma jeden z następujących typów:

  • SearchFuzzyResponse — Jeśli zapytanie zostało ukończone pomyślnie.

  • Error — Jeśli zapytanie nie powiodło się. Odpowiedź będzie zawierać i a code message w tym przypadku.

Poniżej przedstawiono przykładową odpowiedź na partię z 2 sukcesem i 1 wynik niepowodzenia :

{
    "summary": {
        "successfulRequests": 2,
        "totalRequests": 3
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response":
            {
                "summary": {
                    "query": "atm"
                },
                "results": [
                    {
                        "type": "POI",
                        "poi": {
                            "name": "ATM at Wells Fargo"
                        },
                        "address": {
                            "country": "United States Of America",
                            "freeformAddress": "3240 157th Ave NE, Redmond, WA 98052"
                        }
                    }
                ]
            }
        },
        {
            "statusCode": 200,
            "response":
            {
                "summary": {
                    "query": "statue of liberty"
                },
                "results": [
                    {
                        "type": "POI",
                        "poi": {
                            "name": "Statue of Liberty"
                        },
                        "address": {
                            "country": "United States Of America",
                            "freeformAddress": "New York, NY 10004"
                        }
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
Post Search Inside Geometry

Dotyczy : S0 i S1 warstw cenowych.

Punkt końcowy geometrii wyszukiwania umożliwia przeprowadzenie bezpłatnego wyszukiwania w ramach jednej geometrii lub wielu z nich. Zostaną zwrócone wyniki wyszukiwania, które znajdują się wewnątrz geometrii/geometrie.

W celu wysłania geometrii zostanie użyte POST żądanie, w której treść żądania będzie zawierać geometry obiekt reprezentowany jako GeoJSON Typ, a Content-Type nagłówek zostanie ustawiony na application/json . Funkcje geograficzne, które mają być przeszukiwane, można modelować jako Wielokąt i/lub okrąg geometrie reprezentowane przy użyciu jednego z następujących GeoJSON typów:

  • Funkcja sqljsoncollection
    geometryMoże być reprezentowane jako GeoJSON FeatureCollection obiekt. Jest to zalecana opcja, jeśli geometria zawiera zarówno wielokąty, jak i okręgi. FeatureCollectionMoże zawierać maksymalnie 50 GeoJSON Feature obiektów. Każdy Feature obiekt powinien reprezentować wielokąt lub okrąg o następujących warunkach:
    • FeatureObiekt geometryczny Wielokąt może mieć maksymalnie 50 współrzędnych, a jego właściwości muszą być puste.
    • FeatureObiekt geometrii okręgu składa się z centrum reprezentowanego przy użyciu GeoJSON Point typu i wartości promienia (w metrach), która musi być określona we właściwościach obiektu wraz z właściwością Subtype , której wartość powinna być "Circle".

    Zapoznaj się z przykładową częścią przykładu FeatureCollection .

  • Obiekt geometry geometryczny GEOJSON
    geometryMoże być reprezentowane jako GeoJSON GeometryCollection obiekt. Jest to zalecana opcja, jeśli geometria zawiera listę tylko wielokątów. GeometryCollectionMoże zawierać maksymalnie 50 GeoJSON Polygon obiektów. Każdy Polygon obiekt może mieć maksymalnie 50 współrzędnych. Zapoznaj się z przykładową częścią przykładu GeometryCollection .

  • Wielokąt GEOJSON
    geometryMoże być reprezentowane jako GeoJSON Polygon obiekt. Jest to zalecana opcja, jeśli geometria zawiera pojedynczy wielokąt. PolygonObiekt może mieć maksymalnie 50 współrzędnych. Zapoznaj się z przykładową częścią przykładu Polygon .

.