Method: geocode.destinations.searchDestinations

Ta metoda wyszukuje miejsca docelowe i zwraca ich listę.

Żądanie HTTP

POST https://geocode.googleapis.com/v4beta/geocode/destinations

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "travelModes": [
    enum (NavigationPoint.TravelMode)
  ],
  "languageCode": string,
  "regionCode": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of mutually exclusive fields.
}
Pola
travelModes[]

enum (NavigationPoint.TravelMode)

Opcjonalnie: Środki transportu, dla których mają być filtrowane punkty nawigacyjne. Ma to wpływ na pole navigationPoints zwracane w odpowiedzi. Jeśli to pole jest puste, zwracane są punkty nawigacyjne dla wszystkich środków transportu.

languageCode

string

Opcjonalnie: Język, w którym mają być zwracane wyniki.

regionCode

string

Opcjonalnie: Kod regionu. Kod regionu określony jako dwuznakowa wartość ccTLD („domena najwyższego poziomu”). Parametr wpływa na wyniki zgodnie z obowiązującymi przepisami. Ten parametr wpływa też na wyniki z usługi, ale nie ogranicza ich całkowicie.

Zapytanie dotyczące głównego miejsca docelowego. Może to być miejsce, pełny adres lub lokalizacja LatLng. Niektórych miejsc i adresów z minimalną ilością informacji nie można przekształcić w miejsce docelowe.

Miejsca docelowe są tworzone na podstawie określonego zapytania podstawowego.

Uwaga: obsługiwane są tylko miejsca i adresy, które mogą być miejscem docelowym nawigacji. Na przykład miejsce, które reprezentuje dom lub kompleks apartamentów, może być używane jako zapytanie podstawowe, ale miejsca, które reprezentują miejscowość lub region, nie mogą być używane jako zapytanie podstawowe. Poniżej znajduje się lista pól, które wzajemnie się wykluczają. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:

place

string

Nazwa zasobu miejsca w formacie places/{placeId}.

addressQuery

object (SearchDestinationsRequest.AddressQuery)

Ulica i numer.

locationQuery

object (SearchDestinationsRequest.LocationQuery)

dokładną lokalizację,

Koniec pól wykluczających się wzajemnie.

Treść odpowiedzi

Komunikat odpowiedzi dla DestinationService.SearchDestinations.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Pola
destinations[]

object (Destination)

Lista miejsc docelowych.

Usługa zwraca 1 wynik, jeśli na podstawie zapytania podstawowego można jednoznacznie zidentyfikować główne miejsce docelowe. W przeciwnym razie usługa może zwrócić wiele wyników do uściślenia lub nie zwrócić żadnych wyników.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/maps-platform.geocode
  • https://www.googleapis.com/auth/maps-platform.destinations

SearchDestinationsRequest.AddressQuery

Adres, który chcesz wyszukać. Adresy należy podawać w formacie używanym przez krajową pocztę danego kraju.

Zapis JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of mutually exclusive fields.
}
Pola
Zapytanie o adres. Poniżej znajduje się lista pól, które wzajemnie się wykluczają. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
address

object (PostalAddress)

Adres pocztowy w formacie adresu pocztowego.

addressQuery

string

Adres sformatowany jako pojedynczy wiersz.

Koniec pól wykluczających się wzajemnie.

SearchDestinationsRequest.LocationQuery

zapytanie o lokalizację, aby zidentyfikować główne miejsce docelowe w pobliżu;

Uwaga: jeśli zapytanie o lokalizację dotyczy budynku, który zawiera podlokale, możliwe, że zwrócone główne miejsce będzie podlokalem. W takich przypadkach pole containingPlaces będzie zawierać budynek.

Zapis JSON
{
  "placeFilter": {
    object (SearchDestinationsRequest.LocationQuery.PlaceFilter)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "location": {
    object (LatLng)
  }
  // End of mutually exclusive fields.
}
Pola
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

Opcjonalnie: Filtry, które mają zostać zastosowane do potencjalnych miejsc docelowych.

Zapytanie o lokalizację. Poniżej znajduje się lista pól, które wzajemnie się wykluczają. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
location

object (LatLng)

Dokładna lokalizacja LatLng.

Koniec pól wykluczających się wzajemnie.

SearchDestinationsRequest.LocationQuery.PlaceFilter

Filtry, które mają zostać zastosowane do potencjalnych miejsc docelowych.

Zapis JSON
{
  "structureType": enum (PlaceView.StructureType),
  "addressability": enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)
}
Pola
structureType

enum (PlaceView.StructureType)

Opcjonalnie: Jeśli podasz tę wartość, wszystkie miejsca docelowe będą miały główne miejsce o tym typie struktury. Może to spowodować odfiltrowanie niektórych miejsc docelowych lub ich uogólnienie albo uściślenie.

Jeśli na przykład podasz GROUNDS, wszystkie zwrócone miejsca docelowe będą miały główne miejsce o typie struktury GROUNDS. Może to spowodować odfiltrowanie niektórych miejsc docelowych, które nie są częścią terenu, lub uproszczenie zwracanych miejsc docelowych do poziomu terenu.

Innym zastosowaniem tego pola jest łatwiejsze wyodrębnianie wielokątów wyświetlania budynków. Jeśli na przykład podasz BUILDING, wielokąt wyświetlania głównego miejsca będzie dotyczyć budynku w określonej lokalizacji.

addressability

enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)

Opcjonalnie: Jeśli zostanie określony, zwracane będą tylko miejsca docelowe, które spełniają odpowiednie kryteria adresowalności.

PlaceView.StructureType

Typ struktury, którą reprezentuje to miejsce.

Wartości w polu enum
STRUCTURE_TYPE_UNSPECIFIED Nieużywane.
POINT Lokalizacja punktu.
SECTION Podsekcja budynku.
BUILDING Budynek.
GROUNDS Duży obszar, który zwykle obejmuje kilka budynków, np. kampus uniwersytecki, kompleks apartamentów lub centrum handlowe.

SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability

Definiuje opcje filtrowania adresowalności. W przyszłości mogą zostać dodane nowe wartości.

Wartości w polu enum
ADDRESSABILITY_UNSPECIFIED Jeśli nie zostanie określona, usługa wybierze odpowiednią wartość domyślną.
ANY Możliwość adresowania nie jest kryterium filtrowania. Miejsca docelowe są zwracane niezależnie od ich adresowalności.
PRIMARY Wszystkie zwrócone miejsca docelowe będą miały główne miejsce z adresem lub nazwą na poziomie ulicy.
WEAK Wszystkie zwrócone miejsca docelowe będą miały miejsce główne lub miejsce podrzędne z adresem lub nazwą na poziomie ulicy.

Miejsce docelowe

miejsce docelowe, Obejmuje to miejsce główne, miejsca powiązane, wejścia i punkty nawigacyjne.

Zapis JSON
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
Pola
primary

object (PlaceView)

Główne miejsce określone przez primary_query w żądaniu.

containingPlaces[]

object (PlaceView)

Mniej precyzyjne miejsca, w których znajduje się miejsce główne. Na przykład kompleks apartamentów, w którym znajduje się ten budynek.

subDestinations[]

object (PlaceView)

Bardziej precyzyjne miejsca podrzędne miejsca głównego. Na przykład jednostki znajdujące się w budynku.

Uwaga: w porównaniu z obiektem SubDestination zwracanym przez interfejs Places API ta lista miejsc docelowych jest bardziej wyczerpująca, a każde miejsce docelowe zawiera więcej informacji.

landmarks[]

object (Landmark)

Punkty orientacyjne, które mogą pomóc w określeniu lokalizacji miejsca docelowego lub dotarciu do niego.

entrances[]

object (Entrance)

Wejścia do tego miejsca docelowego.

navigationPoints[]

object (NavigationPoint)

Punkty nawigacyjne dla tego miejsca docelowego.

PlaceView

Reprezentuje widok miejsca w interfejsie Places API. Zawiera też dodatkowe informacje dotyczące miejsc docelowych, takie jak typ struktury i wielokąt wyświetlania.

W niektórych przypadkach PlaceView o tym samym identyfikatorze miejsca może się różnić od tego, co zwraca interfejs Places API w polach types i displayName.

Zapis JSON
{
  "place": string,
  "placeId": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  },
  "addressComponents": [
    {
      object (PlaceView.AddressComponent)
    }
  ]
}
Pola
place

string

Nazwa zasobu tego miejsca w formacie places/{placeId}. Może służyć do wyszukiwania miejsca.

placeId

string

Unikalny identyfikator miejsca.

displayName

object (LocalizedText)

Zrozumiały dla człowieka opis miejsca. Na przykład „Bramka B”, „McDonalds”

primaryType

string

Główny typ tego miejsca. Listę możliwych wartości znajdziesz na stronie https://developers.google.com/maps/documentation/places/web-service/place-types.

Uwaga: to pole nie zawsze jest wypełnione. W takich sytuacjach przygotuj się na użycie pola types.

types[]

string

Wszystkie powiązane typy miejsc tego miejsca. Listę możliwych wartości znajdziesz na stronie https://developers.google.com/maps/documentation/places/web-service/place-types.

formattedAddress

string

Adres w jednym wierszu.

postalAddress

object (PostalAddress)

Uporządkowany adres.

structureType

enum (PlaceView.StructureType)

Typ struktury odpowiadającej temu miejscu.

location

object (LatLng)

Lokalizacja tego miejsca. W przypadku miejsc z wyświetlanymi wielokątami może to być dobre miejsce na umieszczenie znacznika na mapie.

displayPolygon

object (Struct format)

Kontur wielokąta miejsca w formacie GeoJSON, przy użyciu formatu RFC 7946: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6.

Uwaga: format RFC 7946 obsługuje MultiPolygons, więc jeden obiekt displayPolygon może reprezentować wiele wielokątów.

addressComponents[]

object (PlaceView.AddressComponent)

Powtarzające się komponenty dla każdego poziomu lokalizacji.

PlaceView.AddressComponent

Uporządkowane komponenty, które tworzą sformatowany adres, jeśli te informacje są dostępne.

Zapis JSON
{
  "longText": string,
  "shortText": string,
  "types": [
    string
  ],
  "languageCode": string
}
Pola
longText

string

Pełny opis tekstowy lub nazwa komponentu adresu. Na przykład komponent adresu dla kraju Australia może mieć długą nazwę „Australia”.

shortText

string

Skrócona nazwa tekstowa komponentu adresu, jeśli jest dostępna. Na przykład komponent adresu dla kraju Australia może mieć krótką nazwę „AU”.

types[]

string

Tablica wskazująca typy komponentu adresu.

Te wartości pochodzą z tabeli typów adresów i typów komponentów adresowych używanej przez Places API: https://developers.google.com/maps/documentation/places/web-service/place-types#address-types.

languageCode

string

Język używany do formatowania tego komponentu w notacji CLDR.

Punkt orientacyjny

Punkty orientacyjne służą do wskazywania miejsca docelowego lub ułatwiania dotarcia do niego.

Zapis JSON
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "place": {
    object (PlaceView)
  }
  // End of mutually exclusive fields.
}
Pola
relationalDescription

object (LocalizedText)

Zrozumiały dla człowieka opis relacji między miejscem docelowym a punktem orientacyjnym. Na przykład: „W pobliżu Pałacu Kultury i Nauki” lub „Naprzeciwko Sejmu”.

tags[]

enum (Landmark.Tag)

Tagi opisujące, jak można wykorzystać punkt orientacyjny w kontekście miejsca docelowego.

straightLineDistanceMeters

number

Tylko dane wyjściowe. Odległość w linii prostej od tego punktu orientacyjnego do miejsca docelowego w metrach.

travelDistanceMeters

number

Tylko dane wyjściowe. Odległość pieszo od tego punktu orientacyjnego do miejsca docelowego w metrach.

Punkt orientacyjny. Poniżej znajduje się lista pól, które wzajemnie się wykluczają. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
place

object (PlaceView)

Miejsce, które reprezentuje ten punkt orientacyjny.

Koniec pól wykluczających się wzajemnie.

Landmark.Tag

Lista wszystkich możliwych tagów opisujących, jak można wykorzystać punkt orientacyjny w kontekście miejsca docelowego.

Jeśli adres zawiera zarówno tag ADDRESS, jak i ARRIVAL, oznacza to, że punkt orientacyjny jest zarówno ważny lokalnie, jak i znajduje się blisko miejsca docelowego.

Wartości w polu enum
TAG_UNSPECIFIED Nieużywane.
ADDRESS Znane miejsce w okolicy, które może służyć do określenia ogólnej lokalizacji miejsca docelowego. Zwykle w odległości kilkuset metrów od miejsca docelowego. Są one podobne do punktów orientacyjnych zwracanych przez funkcję deskryptorów adresów w interfejsie Geocoding API: https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors.
ARRIVAL Miejsce, które może pomóc w dotarciu do celu. Przydatne do nawigacji, gdy jesteś blisko celu. Może to być na przykład miejsce po drugiej stronie ulicy od miejsca docelowego. Punkt orientacyjny z tym tagiem jest zwykle bliżej miejsca docelowego niż punkty orientacyjne z tagiem ADDRESS.

Wejście

Wejście to pojedyncza para współrzędnych szerokości i długości geograficznej, która określa lokalizację punktu wejścia i wyjścia z miejsca.

Zapis JSON
{
  "displayName": {
    object (LocalizedText)
  },
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
Pola
displayName

object (LocalizedText)

Nazwa zrozumiała dla człowieka, np. „Bramka B”, „Wejście południowe”, „Wejście od 5 Alei”.

location

object (LatLng)

Lokalizacja wejścia.

tags[]

enum (Entrance.Tag)

Lista tagów opisujących wejście.

place

string

Budynek, w którym znajduje się wejście, w formacie places/{placeId}.

Entrance.Tag

Cechy opisujące wejście.

Wartości w polu enum
TAG_UNSPECIFIED Nieużywane.
PREFERRED

Wejście prawdopodobnie zapewnia fizyczny dostęp do głównego miejsca w zwróconym miejscu docelowym. Miejsce może mieć kilka preferowanych wejść. Jeśli wejście nie ma tego tagu, oznacza to, że znajduje się ono w tym samym budynku co główne miejsce, ale niekoniecznie zapewnia dostęp do tego miejsca.

Jeśli na przykład głównym miejscem jest restauracja w centrum handlowym, wejścia „PREFEROWANE” będą tymi, które prawdopodobnie prowadzą do samej restauracji, a inne zwrócone wejścia będą innymi wejściami do budynku, np. wejściami do innych restauracji w centrum handlowym.

Jeśli głównym miejscem jest sam budynek, wejścia do PREFERRED będą prowadzić do „głównej” części budynku. Na przykład w centrum handlowym wejścia PREFERRED będą prowadzić do głównego foyer, ale jeśli wejście prowadzi tylko do sklepu z boku budynku, nie będzie to wejście PREFERRED.

Uwaga: wejście PREFERRED może nie zapewniać dostępu do głównego miejsca, a wejście, które nie jest PREFERRED, może zapewniać dostęp do głównego miejsca.