Identyfikatory miejsc

Identyfikatory miejsc jednoznacznie identyfikują miejsce w bazie danych Miejsc Google i w Mapach Google. Identyfikatory miejsc są akceptowane w żądaniach wysyłanych do tych interfejsów API Map Google:

  • Pobieram adres dla identyfikatora miejsca w usłudze sieciowej Geocoding API i usłudze Geocoding API oraz Maps JavaScript API.
  • Określenie miejsca wylotu, miejsca docelowego i pośrednich punktów na trasie w usłudze internetowej Routes API oraz Directions API oraz usłudze Directions API (Mapa JavaScript API).
  • określanie punktów początkowych i docelowych w usłudze internetowej Routes API oraz w usłudze Distance Matrix API oraz w usłudze Distance Matrix Service; Maps JavaScript API;
  • Pobieranie szczegółów dotyczących miejsc z usługi internetowej Places API, Places SDK na Androida, Places SDK na iOS i biblioteki Places SDK.
  • Korzystanie z parametrów identyfikatora miejsca w interfejsie Maps Embed API.
  • Pobieranie zapytań wyszukiwanych w adresach URL w Mapach Google.
  • Wyświetlam ograniczenia prędkości w interfejsie Roads API.
  • Znajdowanie i określanie stylu wielokątów granic w stylu opartym na danych.

Znajdowanie identyfikatora konkretnego miejsca

Szukasz identyfikatora konkretnego miejsca? Skorzystaj z poniższej wyszukiwarki identyfikatorów miejsca, aby wyszukać miejsce i uzyskać jego identyfikator:

Możesz też wyświetlić wyszukiwarkę identyfikatorów miejsc wraz z jej kodem z dokumentacji interfejsu Maps JavaScript API.

Opis

Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. Długość identyfikatora może być różna (nie ma maksymalnej długości identyfikatorów miejsc). Przykłady:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Identyfikatory miejsc są dostępne dla większości lokalizacji, w tym firm, punktów orientacyjnych, parków i skrzyżowań. To samo miejsce lub lokalizacja może mieć kilka różnych identyfikatorów miejsc. Identyfikatory miejsc mogą się z czasem zmieniać.

W interfejsie Places API i w wielu interfejsach API Google Maps Platform możesz używać tego samego identyfikatora miejsca. Możesz na przykład użyć tego samego identyfikatora miejsca, aby wskazać miejsce w interfejsach Places API, Map JavaScript API, Geocoding API, Map Embed API i Roads API.

Pobierz informacje o miejscu przy użyciu identyfikatora miejsca

Typowym sposobem korzystania z identyfikatorów miejsc jest wyszukanie miejsca (np. za pomocą interfejsu Places API lub biblioteki Places w interfejsie Maps JavaScript API), a następnie użycie zwróconego identyfikatora miejsca do pobrania szczegółowych informacji o miejscu. Możesz zapisać identyfikator miejsca i użyć go później do pobierania tych samych szczegółów miejsca. Więcej informacji o zapisywaniu identyfikatorów miejsc znajdziesz poniżej.

W przykładach poniżej pokazujemy, jak zażądać adresu URL ikony w interfejsach Places API (nowość) i Places API.

Places API (nowość)

Za pomocą interfejsu Places API możesz znaleźć identyfikator miejsca, wysyłając żądanie Text Search (New) (Wyszukiwanie tekstowe (New)).

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

Odpowiedź zawiera identyfikator miejsca w polu id, jak pokazano poniżej:

{
  "places": [
    {
      "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
  ...
}

Teraz możesz przesłać prośbę o szczegóły miejsca (nowe), uwzględniając identyfikator miejsca w adresie URL żądania:

https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY

Places API

Za pomocą interfejsu Places API możesz znaleźć identyfikator miejsca, wysyłając żądanie Place Search.

Ten przykład to wyszukiwanie miejsc typu „restauracja” znajdujących się w promieniu 1500 m od punktu w Sydney w Australii zawierających słowo „rejs”:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

Odpowiedź zawiera identyfikator miejsca w polu place_id, jak widać w tym fragmencie:

{
  "html_attributions" : [],
  "results" : [
    {
      "geometry" : {
        "location" : {
          "lat" : -33.870775,
          "lng" : 151.199025
        }
      },
      ...
      "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
      ...
    }
  ],
  "status" : "OK"
}

Teraz możesz wysłać żądanie informacji o miejscu, umieszczając identyfikator miejsca w parametrze place_id:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

Zapisywanie identyfikatorów miejsc do późniejszego użycia

Identyfikatory miejsc są zwolnione z ograniczeń w pamięci podręcznej opisanych w artykule 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Możesz więc przechowywać wartości identyfikatorów miejsca do późniejszego wykorzystania.

Odświeżanie zapisanych identyfikatorów miejsc

Zalecamy odświeżanie identyfikatorów miejsc, jeśli mają więcej niż 12 miesięcy. Możesz bezpłatnie odświeżać identyfikatory miejsc, przesyłając żądanie szczegółów miejsca, określając w parametrze fields tylko pole identyfikatora miejsca.

Places API (nowość)

Przykład z wykorzystaniem szczegółów miejsca (nowy):

https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY

Places API

Na przykład za pomocą starszego interfejsu API Place Details:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY

To wywołanie aktywuje kod SKU Place detail New (tylko identyfikatory) lub Places Details – ID Odśwież. To żądanie może jednak też zwrócić kod stanu NOT_FOUND. Jedną ze strategii jest przechowywanie pierwotnego żądania, które zwróciło każdy identyfikator miejsca. Jeśli identyfikator miejsca stanie się nieprawidłowy, możesz wysłać prośbę ponownie, aby uzyskać nowe wyniki. Takie wyniki mogą, ale nie muszą, zawierać pierwotne miejsce. Żądanie podlega opłacie.

Kody błędów podczas korzystania z identyfikatorów miejsc

Kod stanu INVALID_REQUEST wskazuje, że podany identyfikator miejsca jest nieprawidłowy. Wartość INVALID_REQUEST może zostać zwrócona, gdy identyfikator miejsca został skrócony lub w inny sposób zmodyfikowany i nie jest już prawidłowy.

Kod stanu NOT_FOUND wskazuje, że podany identyfikator miejsca jest nieaktualny. Identyfikator miejsca może stać się nieaktualny, jeśli firma zostanie zamknięta lub przeniesiona. Identyfikatory miejsc mogą się zmieniać z powodu dużych aktualizacji bazy danych Map Google. W takich przypadkach miejsce może otrzymać nowy identyfikator miejsca, a stary identyfikator zwraca odpowiedź NOT_FOUND.

W szczególności niektóre typy identyfikatorów miejsc mogą czasami powodować zwracanie odpowiedzi NOT_FOUND, a interfejs API może zwracać w odpowiedzi inny identyfikator miejsca. Te typy identyfikatorów miejsca obejmują:

  • Adresy, które nie istnieją w Mapach Google jako dokładne adresy, ale są ustalane na podstawie zakresu adresów.
  • Fragmenty długiej trasy, w przypadku których w żądaniu wskazano też miasto lub miejscowość.
  • Skrzyżowania.
  • Miejsca z komponentem adresu typu subpremise.

Identyfikatory te często mają postać długiego ciągu znaków (nie ma określonej maksymalnej długości identyfikatorów miejsc). Na przykład:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4