Identyfikatory miejsc

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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

  • Pobieram adres identyfikatora miejsca w usłudze internetowej Geocoding API i usłudze geokodowania, Maps JavaScript API.
  • Określanie punktu początkowego, docelowego i pośredniego w usłudze internetowej Route API oraz w usłudze Trasa dojazdu, Maps JavaScript API.
  • Określanie punktów początkowych i docelowych w usłudze internetowej przeznaczonej dla matrycy odległości oraz w usłudze odległości ( Maps Matrix API), Maps JavaScript API.
  • Pobieram szczegółowe informacje o miejscach w usłudze internetowej interfejsu API interfejsu API, pakiet SDK Miejsc na Androida, pakiet SDK Miejsc na iOS oraz bibliotekę Miejsc, interfejs API JavaScript.
  • Używanie parametrów identyfikatora miejsca w interfejsie API Map Google do umieszczania.
  • Pobieranie zapytań w URL-ach Map.
  • Wyświetlam ograniczenia prędkości w interfejsie Roads API.
  • Znajdowanie i stylowanie wielokątów granic w stylu opartym na danych.

Znajdowanie identyfikatora konkretnego miejsca

Czy szukasz identyfikatora konkretnego miejsca? Aby wyszukać miejsce i uzyskać jego identyfikator, użyj wyszukiwarki miejsc.

Możesz też wyświetlić identyfikator miejsca z jego kodem w dokumentacji interfejsu Maps JavaScript API.

Omówienie

Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. Identyfikator może być dłuższy (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ć wiele różnych identyfikatorów miejsca. Identyfikatory miejsc mogą się z czasem zmieniać.

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

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

Identyfikatory miejsc są zwolnione z ograniczeń wynikających z pamięci podręcznej w sekcji 3.2.3(b) Warunków korzystania z Google Maps Platform. Gdy określisz identyfikator miejsca, możesz użyć jego wartości przy kolejnym wyszukiwaniu. Więcej informacji znajdziesz poniżej w sekcji Zapisywanie identyfikatorów miejsc do późniejszego użycia.

Typowym sposobem używania identyfikatorów miejsc jest wyszukiwanie miejsc (np. za pomocą interfejsu Places API lub biblioteki miejsc w interfejsie Maps JavaScript API) i używanie zwróconego identyfikatora miejsca w celu pobrania szczegółowych informacji o miejscu. Możesz zapisać identyfikator miejsca i użyć go, aby później pobrać te same szczegóły miejsca. Informacje o zapisywaniu identyfikatorów miejsc znajdziesz poniżej.

Przykład z wykorzystaniem pakietu SDK Miejsc na iOS

Identyfikator miejsca to identyfikator tekstowy, który jednoznacznie identyfikuje miejsce. W pakiecie SDK Miejsc na iOS możesz pobrać identyfikator miejsca z obiektu GMSPlace. Możesz zapisać identyfikator miejsca i użyć go do ponownego pobrania obiektu GMSPlace.

Aby uzyskać miejsce według identyfikatora, wywołaj GMSPlacesClient fetchPlaceFromPlaceID:, przekazując te parametry:

  • Ciąg znaków zawierający identyfikator miejsca.
  • Jeden lub więcej elementów GMSPlaceField, które określają typy danych do zwrócenia.
  • Token sesji, jeśli wywołanie jest zakończone 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 obiekt GMSPlace. Jeśli miejsce nie zostanie znalezione, obiekt miejsca jest pusty.

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ą zwolnione z ograniczeniach dotyczących pamięci podręcznej opisanych w Sekcji 3.2.3(a) Warunków korzystania z Google Maps Platform. Dlatego możesz zapisywać wartości identyfikatorów miejsc do późniejszego wykorzystania.

Odświeżam identyfikatory zapisanych miejsc

Jeśli identyfikatory miejsca mają więcej niż 12 miesięcy, zalecamy ich odświeżenie. Identyfikatory miejsc możesz bezpłatnie odświeżać, wysyłając żądanie szczegółów miejsca, podając w polu fields tylko pole GMSPlaceFieldPlaceID. To wywołanie uruchomi kod SKU miejsca – odświeżanie identyfikatorów SKU. To żądanie może też jednak zwracać 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 ponownie wysłać prośbę, aby uzyskać nowe wyniki. Te wyniki mogą, ale nie muszą, zawierać pierwotne miejsce. Żądanie jest 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ł skrócony lub w inny sposób zmodyfikowany i nie jest już prawidłowy.

Kod stanu NOT_FOUND wskazuje, że określony identyfikator miejsca jest nieaktualny. Identyfikator miejsca może stać się nieaktualny, gdy firma zostanie zamknięta lub przeniesiona. Identyfikatory miejsc mogą się zmieniać z powodu aktualizacji na dużą skalę w bazie danych Map Google. W takich przypadkach miejsce może otrzymać nowy identyfikator, a stary identyfikator zwróci odpowiedź NOT_FOUND.

Na przykład niektóre typy identyfikatorów miejsc mogą czasami wywoływać odpowiedź NOT_FOUND lub interfejs API może zwracać inny identyfikator miejsca w odpowiedzi. Typy identyfikatorów miejsc obejmują:

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

Identyfikatory te często mają postać długiego ciągu (identyfikatory miejsc nie mają maksymalnej długości). Przykład:

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