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,

  // 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: Ś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 na podstawie obowiązujących przepisów. Ten parametr ma też wpływ na wyniki z usługi, ale nie ogranicza ich w pełni.

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

Wiadomość z 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ć miejsce docelowe. W przeciwnym razie usługa może zwrócić wiele wyników w celu wyjaśnienia niejednoznaczności 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
{

  // 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 w formacie adresu pocztowego.

addressQuery

string

Adres sformatowany w jednym wierszu.

SearchDestinationsRequest.LocationQuery

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

Uwaga: jeśli zapytanie o lokalizację dotyczy budynku, w którym znajdują się podlokale, zwrócone miejsce główne może być 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ą być stosowane do kandydatów na miejsca docelowe.

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 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 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, 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 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 tego, czy można do nich kierować reklamy.
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 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 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 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ą 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 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)

Rodzaj struktury odpowiadający 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ż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,

  // 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 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.

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 dobrze widoczny w okolicy i znajduje się blisko miejsca docelowego.

Wartości w polu enum
TAG_UNSPECIFIED Nieużywane.
ADDRESS lokalnie znane miejsce, które może służyć do określania 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 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
{
  "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 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ę w tym samym budynku co główne miejsce, ale niekoniecznie zapewnia do niego dostęp.

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 to te, które umożliwiają dostęp do głównego holu. Jeśli jednak wejście zapewnia dostęp 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.