Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
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
warning_amber
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:
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:
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:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-17 UTC."],[],[],null,["\u003cbr /\u003e\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\nThis guide highlights key differences between the legacy\nPlaces Service and the new\nPlace class. Upgrading to the\nPlace class offers significant advantages,\nincluding improved performance and a new [pricing model](/maps/documentation/javascript/usage-and-billing#places-js-library).\nTo get the most out of Places and ensure your apps are up-to-date, familiarize\nyourself with the changes detailed in this guide.\n\n\nBilling best practices for migration warning_amber\n\nThis guidance applies if your API usage is high enough to\nmove into second-tier pricing. When migrating to a newer version of an API,\nyou're also being billed for a different SKU. To avoid increased costs during the month of\nyour transition, we recommend switching to the new APIs in production as close to the\nbeginning of the month as possible. This will ensure that you reach the most cost-effective\nmonthly pricing tiers during the migration month. For information about pricing tiers,\nsee the [pricing page](/maps/billing-and-pricing/pricing)\nand the [pricing FAQ](/maps/billing-and-pricing/faq).\n\n\u003cbr /\u003e\n\nEnable Places API\n\nThe Place class relies on the Places API service.\nTo use the features of the new Place class, you\nmust first enable Places API (New) in your Google Cloud project. For more\ninformation, see [Get started](/maps/documentation/javascript/place-get-started).\n\nGeneral changes\n\nThe following table lists some of the main differences between `PlacesService`\nand `Place`:\n\n| [`PlacesService`](/maps/documentation/javascript/reference/places-service) (Legacy) | [`Place`](/maps/documentation/javascript/reference/place) (New) |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Methods require the use of a callback to handle the results object and `google.maps.places.PlacesServiceStatus` response. | Uses Promises, and works asynchronously. |\n| Methods require a `PlacesServiceStatus` check. | No required status check, can use standard error handling. |\n| [Place data fields](/maps/documentation/javascript/place-data-fields) are formatted using snake case. | [Place data fields](/maps/documentation/javascript/place-class-data-fields) are formatted using camel case. |\n| Limited to a fixed set of [place types](/maps/documentation/javascript/supported_types) and [place data fields](/maps/documentation/javascript/place-data-fields). | Provides an expanded selection of regularly updated [place types](/maps/documentation/javascript/place-types) and [place data fields](/maps/documentation/javascript/place-class-data-fields). |\n\nAPI-specific changes\n\nThe Place class provides an API for using the Places library, and supports\nmodern usage patterns such as Promises. The Place class exposes the same place\ndata fields and place types as the legacy Places Service, and includes many new\nvalues for place data fields and place types.\n\nThis table shows how features of the Places Service\nmap to those of the Place class:\n\n| Places Service (Legacy) | Place Class (New) |\n|----------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|\n| [Place Data Fields](/maps/documentation/javascript/place-data-fields) | [Place Class Data Fields](/maps/documentation/javascript/place-class-data-fields) |\n| [Place Types](/maps/documentation/javascript/supported_types) | [Place Types](/maps/documentation/javascript/place-types) |\n| [`PlacesService.findPlaceFromQuery()`](/maps/documentation/javascript/reference/places-service#PlacesService.findPlaceFromQuery) | [`Place.searchByText()`](/maps/documentation/javascript/reference/place#Place.searchByText) |\n| [`PlacesService.findPlaceFromPhoneNumber()`](/maps/documentation/javascript/reference/places-service#PlacesService.findPlaceFromPhoneNumber) | [`Place.searchByText()`](/maps/documentation/javascript/reference/place#Place.searchByText) |\n| [`PlacesService.textSearch()`](/maps/documentation/javascript/reference/places-service#PlacesService.textSearch) | [`Place.searchByText()`](/maps/documentation/javascript/reference/place#Place.searchByText) |\n| [`PlacesService.nearbySearch()`](/maps/documentation/javascript/reference/places-service#PlacesService.nearbySearch) | [`Place.searchNearby()`](/maps/documentation/javascript/reference/place#Place.searchNearby) |\n| [`PlacesService.getDetails()`](/maps/documentation/javascript/reference/places-service#PlacesService.getDetails) | [`Place.fetchFields()`](/maps/documentation/javascript/reference/place#Place.fetchFields) |\n| [`Places.AutocompletionRequest`](/maps/documentation/javascript/reference/places-autocomplete-service?db=wfrench#AutocompletionRequest) | [`Places.AutocompleteRequest`](/maps/documentation/javascript/reference/autocomplete-data#AutocompleteRequest) |\n| [`Places.AutocompletePrediction`](/maps/documentation/javascript/reference/places-autocomplete-service#AutocompletePrediction) | [`Places.PlacePrediction`](/maps/documentation/javascript/reference/autocomplete-data#PlacePrediction) |\n| [`Autocomplete`](/maps/documentation/javascript/reference/places-widget#Autocomplete) class | [`PlaceAutocompleteElement`](/maps/documentation/javascript/reference/places-widget#PlaceAutocompleteElement) class |\n| [`SearchBox`](/maps/documentation/javascript/reference/places-widget#SearchBox) class | --- |\n\nLoad the Places library\n\nHow your app loads the Places library depends on which bootstrap loader is in\nuse. If your app uses [dynamic library import](/maps/documentation/javascript/load-maps-js-api#dynamic-library-import),\nyou can load the needed libraries at runtime by using the `await` operator to\ncall `importLibrary()`, as shown here: \n\n const { Place } = await google.maps.importLibrary(\"places\");\n\nIf your app uses the [direct script loading tag](/maps/documentation/javascript/load-maps-js-api#use-legacy-tag),\nrequest the `places` library in the loader script:\n\n\n```html\n\u003cscript async\n src=\"https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap\"\u003e\n\u003c/script\u003e\n```\n\n\u003cbr /\u003e\n\n[Learn more about loading the Maps JavaScript API.](/maps/documentation/javascript/load-maps-js-api)\n\nThis section includes the following guides to help you migrate your apps to use\nthe newest version of the Places API:\n\n- [Migrate to Place Details](/maps/documentation/javascript/places-migration-details)\n- [Migrate to Text Search (New)](/maps/documentation/javascript/places-migration-search)\n- [Migrate to Nearby Search (New)](/maps/documentation/javascript/places-migration-nearby)\n- [Migrate to Place Photos](/maps/documentation/javascript/places-migration-photos)\n- [Migrate to Place Reviews](/maps/documentation/javascript/places-migration-reviews)\n- [Migrate to Place Autocomplete](/maps/documentation/javascript/places-migration-autocomplete)"]]