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 internetowej Geocoding API, usłudze Geocoding i Maps JavaScript API.
  • Określanie punktu początkowego, docelowego i pośredniego w usłudze internetowej Routes API i Directions API oraz usłudze Directions API Map Google JavaScript.
  • Określanie punktów początkowych i miejsc docelowych w usłudze internetowej Routes API i w usłudze internetowej Reach Matrix API oraz w usłudze matrycy odległości i Maps JavaScript API.
  • Pobieranie informacji o miejscach z usługi internetowej interfejsu Places API, pakietu SDK Places na Androida, pakietu SDK Places na iOS i biblioteki Miejsc.
  • Użycie parametrów identyfikatora miejsca w interfejsie Maps Embed API.
  • Pobieranie wyszukiwanych haseł z adresów URL Map Google.
  • Wyświetlam ograniczenia prędkości w interfejsie Roads API.
  • Znajdowanie i określanie wielokątów granicy w stylu opartym na danych na potrzeby granic.

Znajdowanie identyfikatora określonego miejsca

Czy szukasz identyfikatora konkretnego miejsca? Aby wyszukać miejsce i uzyskać jego identyfikator, skorzystaj z wyszukiwarki identyfikatorów miejsc:

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

Przegląd

Identyfikator miejsca to identyfikator tekstowy jednoznacznie identyfikujący 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ń. Te same miejsca lub lokalizacje mogą mieć kilka różnych identyfikatorów. Identyfikatory miejsc mogą się z czasem zmieniać.

Tego samego identyfikatora miejsca możesz używać we wszystkich interfejsach Places API i wielu interfejsach API Google Maps Platform. Możesz na przykład użyć tego samego identyfikatora miejsca, aby odwołać się do miejsca w interfejsie Places API, Maps JavaScript API, Geocoding API, Maps Embed API i Roads API.

Pobieranie szczegółowych informacji o miejscu przy użyciu identyfikatora miejsca

Typowym sposobem korzystania z identyfikatorów miejsc jest wyszukanie danego 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 do późniejszego pobrania tych samych informacji o miejscu. Więcej informacji o zapisywaniu identyfikatorów miejsc znajdziesz poniżej.

W przykładach poniżej pokazujemy, jak poprosić o adres URL ikony w nowych interfejsach Places API i Places API.

Places API (nowość)

Identyfikator miejsca możesz znaleźć, korzystając z wyszukiwania tekstowego (nowe) za pomocą interfejsu Places API.

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 na przykład:

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

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

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

Places API

Identyfikator miejsca możesz znaleźć, korzystając z żądania wyszukiwania miejsc, korzystając z interfejsu Places API.

Poniższy przykład to żądanie wyszukiwania miejsc typu „restauracja” w promieniu 1500 m od punktu w Sydney w Australii, które zawiera 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, tak jak 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 dotyczące 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ą wyłączone z ograniczeń dotyczących zapisywania w pamięci podręcznej określonych w artykule 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Możesz więc przechowywać wartości identyfikatorów miejsc do późniejszego użycia.

Odświeżam identyfikatory zapisanych miejsc

Zalecamy odświeżenie identyfikatorów miejsc, jeśli są starsze niż 12 miesięcy. Identyfikatory miejsc możesz odświeżać bezpłatnie, przesyłając żądanie informacji o miejscu, podając w parametrze fields tylko identyfikator miejsca.

Places API (nowość)

Na przykład użycie właściwości Szczegóły miejsca (nowe):

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

Places API

Na przykład w przypadku starszej wersji 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 nowego elementu mapy (tylko identyfikatory) lub szczegółów miejsc – odświeżenia identyfikatora.

To żądanie może również zwrócić kod stanu NOT_FOUND. Jedną ze strategii jest zapisanie pierwotnego żądania, które zwróciło identyfikator każdego miejsca. Jeśli identyfikator miejsca stanie się nieprawidłowy, możesz wysłać prośbę ponownie, aby uzyskać nowe wyniki. Te wyniki mogą, ale nie muszą, dotyczyć pierwotnego miejsca. Żądanie to jest jednak płatne.

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ł obcięty 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 przeniesione do nowej lokalizacji. Identyfikatory miejsc mogą się zmieniać z powodu dużych aktualizacji bazy danych Map Google. W takich przypadkach dane 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 zwracać w odpowiedzi inny identyfikator miejsca. Typy identyfikatorów miejsc:

  • Adresy, które nie występują w Mapach Google jako dokładne adresy, ale zostały ustalone na podstawie zakresu adresów.
  • Fragmenty długiej trasy, które w żądaniu wskazują także 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 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