Panoramica della migrazione

Sviluppatori dello Spazio economico europeo (SEE)

Questa guida evidenzia le principali differenze tra il servizio Places legacy e la nuova classe Place. L'upgrade alla classe Place offre vantaggi significativi, tra cui prestazioni migliorate e un nuovo modello di prezzo. Per sfruttare al meglio Places e assicurarti che le tue app siano aggiornate, prendi confidenza con le modifiche descritte in questa guida.

Best practice di fatturazione per la migrazione

Queste indicazioni si applicano se il tuo utilizzo dell'API è sufficientemente elevato da passare ai prezzi di secondo livello. Quando esegui la migrazione a una versione più recente di un'API, ti viene addebitato anche uno SKU diverso. Per evitare un aumento dei costi durante il mese della transizione, ti consigliamo di passare alle nuove API in produzione il più vicino possibile all'inizio del mese. In questo modo, raggiungerai i livelli di prezzo mensili più convenienti durante il mese della migrazione. Per informazioni sui livelli di prezzo, consulta la pagina dei prezzi e le domande frequenti sui prezzi.

Abilitare l'API Places

La classe Place si basa sul servizio API Places. Per utilizzare le funzionalità della nuova classe Place, devi prima abilitare l'API Places (New) nel tuo progetto Google Cloud. Per ulteriori informazioni, consulta la guida introduttiva.

Modifiche generali

La tabella seguente elenca alcune delle principali differenze tra PlacesService e Place:

PlacesService (legacy) Place (nuova)
I metodi richiedono l'utilizzo di un callback per gestire l'oggetto dei risultati e google.maps.places.PlacesServiceStatus risposta. Utilizza le promesse e funziona in modo asincrono.
I metodi richiedono un controllo PlacesServiceStatus. Non è necessario alcun controllo dello stato, puoi utilizzare la gestione degli errori standard.
I campi dei dati dei luoghi sono formattati utilizzando la notazione snake case. I campi dei dati dei luoghi sono formattati utilizzando la notazione camel case.
Limitato a un insieme fisso di tipi di luoghi e campi dei dati dei luoghi. Fornisce una selezione ampliata di tipi di luoghi e campi dei dati dei luoghi aggiornati regolarmente.

Modifiche specifiche dell'API

La classe Place fornisce un'API per l'utilizzo della libreria Places e supporta pattern di utilizzo moderni come le promesse. La classe Place espone gli stessi campi dei dati dei luoghi e tipi di luoghi del servizio Places legacy e include molti nuovi valori per i campi dei dati dei luoghi e i tipi di luoghi.

Questa tabella mostra come le funzionalità del servizio Places vengono mappate a quelle della classe Place:

Servizio Places (legacy) Classe Place (nuova)
Campi dei dati dei luoghi Campi dei dati della classe Place
Tipi di luoghi Tipi di luoghi
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 classe PlaceAutocompleteElement classe
SearchBox classe ---

Caricare la libreria Places

La modalità di caricamento della libreria Places da parte dell'app dipende dal caricatore di bootstrap in uso. Se la tua app utilizza l'importazione dinamica della libreria, puoi caricare le librerie necessarie in fase di runtime utilizzando l'operatore await per chiamare importLibrary(), come mostrato di seguito:

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

Se la tua app utilizza il tag di caricamento diretto dello script, richiedi la libreria places nello script del caricatore:

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

Scopri di più sul caricamento dell'API Maps JavaScript.

Questa sezione include le seguenti guide per aiutarti a eseguire la migrazione delle tue app in modo che utilizzino la versione più recente dell'API Places: