Method: geocode.destinations.searchDestinations

Ta metoda wyszukuje miejsca docelowe i zwraca ich listę.

Żądanie HTTP

POST https://geocode.googleapis.com/v4/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,

  // Union field primary_query can be only one of the following:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of list of possible types for union field primary_query.
}
Pola
travelModes[]

enum (NavigationPoint.TravelMode)

Opcjonalnie: Tryby podróży, 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 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 na podstawie obowiązujących przepisów. Ten parametr wpływa też na wyniki z usługi, ale nie ogranicza ich całkowicie.

Pole zbiorcze primary_query. 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 będzie 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żyte jako główne zapytanie, ale miejsca, które reprezentują miejscowość lub obszar administracyjny, nie mogą być użyte jako główne zapytanie. Pole primary_query może mieć tylko jedną z tych wartości:

place

string

Nazwa zasobu miejsca w formacie places/{placeId}.

addressQuery

object (SearchDestinationsRequest.AddressQuery)

Ulica i numer.

locationQuery

object (SearchDestinationsRequest.LocationQuery)

dokładną lokalizację,

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 określić 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ć zgodnie z formatem używanym przez krajową pocztę w danym kraju.

Zapis JSON
{

  // Union field kind can be only one of the following:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of list of possible types for union field kind.
}
Pola
Pole zbiorcze kind. Zapytanie o adres. kind może mieć tylko jedną z tych wartości:
address

object (PostalAddress)

Adres pocztowy w formacie adresu pocztowego.

addressQuery

string

Adres sformatowany jako pojedynczy wiersz.

SearchDestinationsRequest.LocationQuery

zapytanie o lokalizację, aby zidentyfikować pobliskie miejsce docelowe;

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)
  },

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
Pola
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

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

Pole zbiorcze kind. Zapytanie o lokalizację. kind może mieć tylko jedną z tych wartości:
location

object (LatLng)

Dokładna lokalizacja LatLng.

SearchDestinationsRequest.LocationQuery.PlaceFilter

Filtry, które mają być stosowane do kandydatów na miejsca docelowe.

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 miejsce główne o tym typie struktury. Może to spowodować odfiltrowanie niektórych miejsc docelowych lub ich uogólnienie albo uściślenie.

Jeśli np. podasz wartość GROUNDS, wszystkie zwrócone miejsca docelowe będą miały miejsce główne o typie struktury GROUNDS. Może to spowodować odfiltrowanie niektórych miejsc docelowych, które nie są częścią terenu, lub ograniczenie 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

Rodzaj obiektu, który reprezentuje to miejsce.

Wartości w polu enum
STRUCTURE_TYPE_UNSPECIFIED Nie używane.
POINT Lokalizacja punktu.
SECTION Podsekcja budynku.
BUILDING Budynek.
GROUNDS Duży obszar, na którym zwykle znajduje się wiele budynków, np. kampus uniwersytecki, kompleks apartamentów lub centrum handlowe.

SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability

Określa opcje filtrowania pod kątem możliwości kierowania reklam. W przyszłości możemy dodać 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ść kierowania reklam 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 główne miejsce lub podmiejsce z adresem lub nazwą na poziomie ulicy.

Miejsce docelowe

miejsce docelowe, Obejmuje to główne miejsce, powiązane miejsca, 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 zidentyfikowane przez primary_query w żądaniu.

containingPlaces[]

object (PlaceView)

Mniej precyzyjne miejsca, w których znajduje się miejsce główne. Na przykład kompleks budynków mieszkalnych, 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 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ą być używane do informowania o tym, gdzie znajduje się miejsce docelowe, lub do ułatwiania dotarcia na miejsce.

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 „Brama 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. 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 wielokątami wyświetlania 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 wielokąty, 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.

Więcej informacji znajdziesz na stronie https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types.

languageCode

string

Język użyty do sformatowania tego komponentu w notacji CLDR.

Punkt orientacyjny

Punkty orientacyjne służą do informowania o tym, gdzie znajduje się miejsce docelowe, lub pomagają w dotarciu do niego.

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

  // Union field landmark can be only one of the following:
  "place": {
    object (PlaceView)
  }
  // End of list of possible types for union field landmark.
}
Pola
relationalDescription

object (LocalizedText)

Zrozumiały dla człowieka opis tego, jak miejsce docelowe jest powiązane z 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.

Pole zbiorcze landmark. Punkt orientacyjny. landmark może mieć tylko jedną z tych wartości:
place

object (PlaceView)

Miejsce, które reprezentuje ten punkt orientacyjny.

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 Nie uż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 adresu 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 podczas 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
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
Pola
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 Nie uż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 np. głównym miejscem jest restauracja w pasażu handlowym, wejścia oznaczone jako „PREFEROWANE” będą prawdopodobnie prowadzić do samej restauracji, a pozostałe wejścia będą prowadzić do innych miejsc w budynku, np. do innych restauracji w pasażu 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.