Ringkasan migrasi

Developer Wilayah Ekonomi Eropa (EEA)

Panduan ini menyoroti perbedaan utama antara Places Service lama dan class Place baru. Mengupgrade ke class Place menawarkan keuntungan yang signifikan, termasuk peningkatan performa dan model harga baru. Untuk mendapatkan hasil maksimal dari Places dan memastikan aplikasi Anda selalu diupdate, pelajari perubahan yang dijelaskan dalam panduan ini.

Praktik terbaik penagihan untuk migrasi

Panduan ini berlaku jika penggunaan API Anda cukup tinggi untuk beralih ke harga tingkat kedua. Saat bermigrasi ke versi API yang lebih baru, Anda juga akan ditagih untuk SKU yang berbeda. Untuk menghindari peningkatan biaya selama bulan transisi, sebaiknya alihkan ke API baru dalam produksi sedekat mungkin dengan awal bulan. Hal ini akan memastikan Anda mencapai tingkat harga bulanan yang paling hemat biaya selama bulan migrasi. Untuk mengetahui informasi tentang tingkat harga, lihat halaman harga dan FAQ harga.

Aktifkan Places API

Class Place mengandalkan layanan Places API. Untuk menggunakan fitur class Place baru, Anda harus mengaktifkan Places API (Baru) terlebih dahulu di project Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Mulai.

Perubahan umum

Tabel berikut mencantumkan beberapa perbedaan utama antara PlacesService dan Place:

PlacesService (Lama) Place (Baru)
Metode memerlukan penggunaan callback untuk menangani objek hasil dan respons google.maps.places.PlacesServiceStatus. Menggunakan Promise, dan berfungsi secara asinkron.
Metode memerlukan pemeriksaan PlacesServiceStatus. Tidak ada pemeriksaan status yang diperlukan, dapat menggunakan penanganan error standar.
Kolom data tempat diformat menggunakan snake case. Kolom data tempat diformat menggunakan camel case.
Terbatas pada kumpulan tetap jenis tempat dan kolom data tempat. Menyediakan pilihan yang lebih luas untuk jenis tempat yang diperbarui secara berkala dan kolom data tempat.

Perubahan khusus API

Class Place menyediakan API untuk menggunakan library Places, dan mendukung pola penggunaan modern seperti Promise. Class Place mengekspos kolom data tempat dan jenis tempat yang sama dengan Places Service lama, dan menyertakan banyak nilai baru untuk kolom data tempat dan jenis tempat.

Tabel ini menunjukkan cara fitur Places Service dipetakan ke fitur class Place:

Layanan Places (Lama) Class Tempat (Baru)
Kolom Data Tempat Kolom Data Class Place
Jenis Tempat Jenis Tempat
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
Class Autocomplete Class PlaceAutocompleteElement
Class SearchBox ---

Memuat library Places

Cara aplikasi Anda memuat library Places bergantung pada loader bootstrap yang digunakan. Jika aplikasi Anda menggunakan impor library dinamis, Anda dapat memuat library yang diperlukan saat runtime dengan menggunakan operator await untuk memanggil importLibrary(), seperti yang ditunjukkan di sini:

const { Place } = await google.maps.importLibrary("places");

Jika aplikasi Anda menggunakan tag pemuatan skrip langsung, minta library places dalam skrip loader:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>

Pelajari lebih lanjut cara memuat Maps JavaScript API.

Bagian ini mencakup panduan berikut untuk membantu Anda memigrasikan aplikasi agar menggunakan Places API versi terbaru: