Identyfikatory miejsc

Identyfikatory miejsc jednoznacznie identyfikują dane 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 internetowej Geocoding API i usłudze Geocoding API oraz Maps JavaScript API.
  • Określanie miejsca wylotu, miejsca docelowego i pośrednich punktów na trasie w usłudze sieciowej Routes API i Directions API oraz usłudze Directions API w Maps JavaScript API.
  • określanie punktów początkowych i docelowych w usłudze internetowej Routes API oraz w usłudze Range Matrix API oraz w usłudze Macierz odległości i Maps JavaScript API;
  • Pobieranie szczegółów miejsc z usługi internetowej Places API, Places SDK na Androida, Places SDK na iOS i biblioteki Miejsc.
  • Użycie parametrów identyfikatora miejsca w interfejsie Maps Embed API.
  • Pobieranie zapytań z adresów URL Map Google.
  • Wyświetlanie ograniczeń prędkości w interfejsie Roads API.
  • Znajdowanie i określanie stylu wielokątów granic w stylu granic opartym na danych.

Znajdowanie identyfikatora konkretnego miejsca

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

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

Przegląd

Identyfikator miejsca to tekstowy identyfikator, 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ń. Takie samo miejsce lub lokalizacja może mieć kilka różnych identyfikatorów miejsca. Identyfikatory miejsc mogą się z czasem zmieniać.

Tego samego identyfikatora miejsca możesz używać w interfejsie Places API i w wielu interfejsach API Google Maps Platform. Możesz na przykład użyć tego samego identyfikatora miejsca, aby odwołać się do miejsca 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 Miejsc w interfejsie Maps JavaScript API), a następnie użycie zwróconego identyfikatora miejsca do pobrania szczegółowych informacji o miejscu. Identyfikator miejsca możesz zapisać i użyć go później do pobrania tych samych szczegółów. Poniżej znajdziesz informacje o zapisywaniu identyfikatorów miejsc.

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

Places API (nowość)

Aby znaleźć identyfikator miejsca, skorzystaj z interfejsu Places API, wysyłając żądanie Text Search (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 w polu id identyfikator miejsca, jak pokazano poniżej:

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

Teraz możesz utworzyć żądanie szczegółów miejsca (nowość), uwzględniając identyfikator miejsca w adresie URL żądania:

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

Places API

Można znaleźć identyfikator miejsca za pomocą interfejsu Places API, wysyłając żądanie Place Search.

Ten przykład to zapytanie o miejsca typu „restauracja” znajdujące się w promieniu 1500 m od punktu w Sydney w Australii i zawierające 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 w polu place_id identyfikator miejsca, 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

Zapisz identyfikatory miejsc do późniejszego użycia

Identyfikatory miejsc są zwolnione zograniczeń dotyczących buforowania określonych w artykule 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Dzięki temu możesz przechowywać wartości identyfikatorów miejsca do późniejszego użycia.

Odświeżanie zapisanych identyfikatorów miejsc

Zalecamy odświeżanie identyfikatorów miejsc, jeśli mają więcej niż 12 miesięcy. Identyfikatory miejsc możesz odświeżać bezpłatnie, wysyłając żądanie informacji o miejscu, które w parametrze fields zawiera tylko pole identyfikatora miejsca.

Places API (nowość)

Na przykład użycie opcji Szczegóły miejsca (nowe):

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

Places API

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

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 – odświeżanie identyfikatora.

To żądanie może 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. Wyniki mogą, ale nie muszą, zawierać pierwotne miejsce. Takie żądanie może jednak być płatne.

Kody błędów występujące 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 zmodyfikowany w inny sposób i jest już nieaktualny.

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, a stary identyfikator zwróci odpowiedź NOT_FOUND.

W szczególności niektóre typy identyfikatorów miejsc mogą czasami powodować odpowiedź NOT_FOUND lub interfejs API może w odpowiedzi zwracać inny identyfikator miejsca. Typy identyfikatorów miejsca:

  • Adresy, które nie istnieją w Mapach Google jako dokładne adresy, ale są określane na podstawie wielu adresów.
  • Fragmenty długiej trasy, gdzie w żądaniu jest też podane 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 dla 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