ID Tempat

Pilih platform: Android iOS JavaScript Layanan Web

ID tempat secara unik mengidentifikasi tempat di database Google Places dan Google Maps. ID tempat diterima dalam permintaan ke Maps API berikut:

  • Mengambil alamat untuk ID Tempat di layanan web Geocoding API dan Geocoding Service, Maps JavaScript API.
  • Menentukan titik jalan asal, tujuan, dan perantara di layanan web Routes API dan Directions API serta Directions Service, Maps JavaScript API.
  • Menentukan asal dan tujuan di layanan web Routes API dan Distance Matrix API serta Distance Matrix Service, Maps JavaScript API.
  • Mengambil Place Details di layanan web Places API, Places SDK for Android, Places SDK for iOS, dan Places Library.
  • Menggunakan parameter Place ID di Maps Embed API.
  • Mengambil kueri penelusuran di URL Maps.
  • Menampilkan batas kecepatan di Roads API.
  • Menemukan dan menata gaya poligon batas dalam gaya visual berbasis data untuk batas.

Menemukan ID tempat tertentu

Anda mencari ID tempat tertentu? Gunakan pencari ID tempat di bawah ini untuk menelusuri tempat dan mendapatkan ID-nya:

Atau, Anda dapat melihat pencari ID tempat beserta kodenya dalam dokumentasi Maps JavaScript API.

Ringkasan

ID tempat adalah ID tekstual yang secara unik mengidentifikasi tempat. Panjang ID dapat bervariasi (tidak ada panjang maksimum untuk ID Tempat). Contoh:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

ID Tempat tersedia untuk sebagian besar lokasi, termasuk lokasi bisnis, tempat terkenal, taman, dan persimpangan. Tempat atau lokasi yang sama dapat memiliki beberapa ID tempat yang berbeda. ID tempat dapat berubah seiring waktu.

Anda dapat menggunakan ID tempat yang sama di seluruh Places API dan sejumlah Google Maps Platform API. Misalnya, Anda dapat menggunakan ID tempat yang sama untuk mereferensikan tempat dalam Places API, Maps JavaScript API, Geocoding API, Maps Embed API, dan Roads API.

Mengambil detail tempat menggunakan ID tempat

Cara umum untuk menggunakan ID tempat adalah dengan menelusuri suatu tempat (menggunakan Places API atau Library Tempat di Maps JavaScript API, misalnya) lalu menggunakan ID tempat yang ditampilkan untuk mengambil detail tempat. Anda juga bisa menyimpan ID tempat dan menggunakannya untuk mengambil detail tempat yang sama nanti. Baca cara menyimpan ID tempat di bawah.

Contoh penggunaan Places SDK for iOS

ID tempat adalah ID tekstual yang secara unik mengidentifikasi tempat. Di Places SDK for iOS, Anda dapat mengambil ID tempat dari objek GMSPlace. Anda dapat menyimpan ID tempat dan menggunakannya untuk mengambil objek GMSPlace lagi nanti.

Untuk mendapatkan tempat berdasarkan ID, panggil GMSPlacesClient fetchPlaceFromPlaceID:, dengan meneruskan parameter berikut:

  • String yang berisi ID Tempat.
  • Satu atau beberapa GMSPlaceField, yang menentukan jenis data yang akan ditampilkan.
  • Token sesi jika panggilan dilakukan untuk menyelesaikan kueri pelengkapan otomatis. Jika tidak, teruskan nil.
  • GMSPlaceResultCallback untuk menangani hasilnya.

API memanggil metode callback yang ditentukan, dengan meneruskan objek GMSPlace. Jika tempat tidak ditemukan, objek tempat akan nol.

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]);
  }
}];

Menyimpan ID tempat untuk digunakan nanti

ID tempat dikecualikan dari pembatasan penyimpanan cache yang disebutkan di Pasal 3.2.3(b) dalam Persyaratan Layanan Google Maps Platform. Oleh karena itu, Anda dapat menyimpan nilai ID tempat untuk digunakan nanti.

Memperbarui ID tempat tersimpan

Sebaiknya perbarui ID tempat jika sudah lebih dari 12 bulan. Anda dapat memperbarui ID Tempat tanpa biaya, dengan membuat permintaan Place Details, dan menentukan hanya kolom GMSPlaceFieldPlaceID di parameter fields. Panggilan ini akan memicu SKU Places Details - ID Refresh.

Permintaan ini mungkin juga menampilkan kode status NOT_FOUND. Salah satu strateginya adalah dengan menyimpan permintaan asli yang menampilkan setiap ID tempat. Jika ID tempat menjadi tidak valid, Anda dapat menerbitkan ulang permintaan tersebut untuk mendapatkan hasil yang baru. Hasil ini mungkin menyertakan atau tidak menyertakan tempat asli. Namun, permintaan ini dapat dikenai biaya.

Kode error saat menggunakan ID tempat

Kode status INVALID_REQUEST menunjukkan bahwa ID tempat yang ditentukan tidak valid. INVALID_REQUEST dapat ditampilkan jika ID tempat terpotong atau diubah, dan tidak lagi tepat.

Kode status NOT_FOUND menunjukkan bahwa ID tempat yang ditentukan sudah tidak digunakan lagi. ID tempat mungkin sudah tidak berlaku jika bisnis tutup atau pindah ke lokasi baru. ID Tempat dapat berubah karena pembaruan pada database Google Maps. Dalam kasus seperti itu, tempat dapat menerima ID tempat baru, dan ID lama akan menampilkan respons NOT_FOUND.

Secara khusus, beberapa jenis ID tempat terkadang dapat menyebabkan respons NOT_FOUND, atau API dapat menampilkan ID tempat yang berbeda dalam respons. Jenis ID tempat ini meliputi:

  • Alamat yang tidak ada di Google Maps sebagai alamat akurat, tetapi diambil dari rentang alamat.
  • Segmen dari rute yang panjang, dengan permintaan juga menentukan kota atau lokalitas.
  • Persimpangan.
  • Tempat dengan komponen alamat jenis subpremise.

ID ini sering berbentuk string panjang (tidak ada panjang maksimum untuk ID Tempat). Contoh:

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