Ringkasan migrasi

Developer Wilayah Ekonomi Eropa (EEA)

Panduan ini menyoroti perbedaan utama antara Layanan Places lama dan class Place baru. Upgrade ke class Place menawarkan keuntungan signifikan, termasuk peningkatan performa dan model harga baru. Untuk memaksimalkan Places dan memastikan aplikasi Anda selalu yang terbaru, pahami 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 beralihlah 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.

Mengaktifkan 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 Memulai.

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 google.maps.places.PlacesServiceStatus respons. 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 diperluas untuk jenis tempat dan kolom data tempat yang diperbarui secara berkala.

Perubahan khusus API

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

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

Layanan Places (Lama) Class Place (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
Autocomplete class Class PlaceAutocompleteElement
SearchBox classe ---

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: