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 następujących interfejsów API Map Google:

  • Pobierając adres dla identyfikatora miejsca w usłudze internetowej Geocoding API oraz Usługa geokodowania, Maps JavaScript API.
  • Określanie punktu początkowego, docelowego i pośredniego Routes API i Directions API usługi sieci Web i usługi wyznaczania tras, Maps JavaScript API.
  • określanie punktów początkowych i miejsc docelowych w interfejsie Routes API oraz Usługa sieciowa interfejsu DISTANCE Matrix API oraz Usługa macierzy odległości, 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? Korzystanie z identyfikatora miejsca poniżej, aby wyszukać miejsce i poznać jego identyfikator:

Ewentualnie możesz wyświetl narzędzie do wyszukiwania identyfikatorów miejsc z jego kodem w interfejsie Maps JavaScript API. dokumentacji.

Omówienie

Identyfikator miejsca to identyfikator tekstowy jednoznacznie identyfikujący miejsce. jego długość może być różna (nie ma maksymalnej długości dla 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, parki i skrzyżowania. Dla tego samego miejsca lub lokalizacji mają kilka różnych identyfikatorów miejsc. Identyfikatory miejsc mogą się z czasem zmieniać.

Możesz używać tego samego identyfikatora miejsca w interfejsie Places API oraz liczby interfejsów API Google Maps Platform. Tego samego identyfikatora miejsca możesz na przykład użyć do wskazać miejsce na liście Places API, Maps JavaScript API interfejs Geocoding API interfejs Maps Embed API oraz Roads API.

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

Typowym sposobem korzystania z identyfikatorów miejsc jest wyszukanie miejsca. (za pomocą interfejsu Places API) lub Miejsca w interfejsie Maps JavaScript API), a potem użyj zwrócony identyfikator miejsca, aby pobrać jego szczegóły. Możesz w nim przechowywać identyfikator miejsca aby później pobrać informacje o tym samym miejscu. Przeczytaj o zapisanie identyfikatorów miejsc poniżej.

W przykładach poniżej pokazujemy, jak zażądać adresu URL ikony dla interfejsu Places API (nowego) oraz Places API.

Places API (nowość)

Korzystając z interfejsu Places API, możesz znaleźć identyfikator miejsca, wykonując Wyszukiwanie tekstowe (nowość) użytkownika.

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 utworzyć Szczegóły miejsca (nowe) , umieszczając identyfikator miejsca w adresie URL żądania:

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

Places API

Korzystając z interfejsu Places API, możesz znaleźć identyfikator miejsca, wykonując Żądanie wyszukiwania miejsc.

Poniżej znajduje się przykład żądania wyszukiwania miejsc typu „restauracja” w promieniu 1500 m od punktu w Sydney, w Australii, 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, widoczne 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ć Prośba o szczegóły, umieszczenie identyfikatora 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ń buforowania opisanych w Artykuł 3.2.3(b) Warunków korzystania z usługi Google Maps Platform. Możesz więc przechowywać wartości identyfikatorów miejsc na później i ich używanie.

Odświeżam identyfikatory zapisanych miejsc

Zalecamy odświeżenie identyfikatorów miejsc, jeśli są starsze niż 12 miesięcy. Ty mogą odświeżyć identyfikatory miejsc bezpłatnie, tworząc Żądanie dotyczące informacji o miejscu, zawierające tylko identyfikator miejsca w parametrze fields.

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 starszym interfejsie 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 uruchamia Szczegóły miejsca Nowy (tylko identyfikatory) lub Szczegóły Miejsc – odświeżenie identyfikatora SKU.

Ta prośba może też zwrócić stan: NOT_FOUND w kodzie. Jedną ze strategii jest przechowywanie pierwotnego żądania, które zwróciło każde miejsce ID. Jeśli identyfikator miejsca stanie się nieprawidłowy, możesz ponownie wysłać prośbę, aby pobrać nowy identyfikator wyników. Te wyniki mogą, ale nie muszą, dotyczyć pierwotnego miejsca. Jednak ta prośba jest płatna.

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

Kod stanu INVALID_REQUEST wskazuje, że określony 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 jest już nieprawidłowy.

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

Niektóre typy identyfikatorów miejsc mogą czasami powodować NOT_FOUND lub interfejs API może zwrócić inny identyfikator miejsca w odpowiedź. Typy identyfikatorów miejsc:

  • adresy, które nie występują w Mapach Google jako dokładne adresy; ale są ustalane na podstawie zakresu adresów.
  • fragmenty długiej trasy, których żądanie zawiera również nazwę miasta lub lokalizacji.
  • 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 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