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.

Przykład z wykorzystaniem pakietu SDK Miejsc na iOS

Identyfikator miejsca to identyfikator tekstowy jednoznacznie identyfikujący miejsce. W SDK Miejsc na iOS można pobrać identyfikator miejsca z GMSPlace obiektu. Można zapisać identyfikator miejsca i użyć go do pobrania GMSPlace możesz zobaczyć go później.

Aby uzyskać miejsce na podstawie identyfikatora, zadzwoń pod numer GMSPlacesClient fetchPlaceFromPlaceID:, przekazując te parametry:

  • Ciąg tekstowy zawierający identyfikator miejsca.
  • Co najmniej jeden element typu GMSPlaceField, określający typy danych do zwrócenia.
  • Token sesji, jeśli nastąpi wywołanie w celu zakończenia zapytania autouzupełniania. W przeciwnym razie przekaż nil.
  • GMSPlaceResultCallback do obsługi wyniku.

Interfejs API wywołuje określoną metodę wywołania zwrotnego, przekazując atrybut GMSPlace obiektu. Jeśli miejsce nie zostanie znalezione, obiekt miejsca ma wartość nil.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeID, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeID placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

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 Prośba o dodanie szczegółów określając tylko GMSPlaceFieldPlaceID w parametrze fields. To wywołanie uruchamia 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