Panoramica della migrazione

Questa guida mette in evidenza le differenze principali tra il servizio legacy Places e la nuova classe Place. L'upgrade alla classe Place offre vantaggi significativi, tra cui prestazioni migliorate e un nuovo modello di determinazione dei prezzi. Per ottenere il massimo da Luoghi e assicurarti che le tue app siano aggiornate, familiarizza con le modifiche descritte in questa guida.

Best practice per la fatturazione per la migrazione

Queste indicazioni si applicano se l'utilizzo dell'API è sufficientemente elevato da passare ai prezzi di secondo livello. Quando esegui la migrazione a una versione più recente di un'API, viene addebitato anche un 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, durante il mese di migrazione raggiungerai i livelli di prezzo mensili più convenienti. Per informazioni sui livelli di prezzo, consulta la pagina dei prezzi e le domande frequenti sui prezzi.

Abilita l'API Places

La classe Place si basa sul servizio dell'API Places. Per utilizzare le funzionalità della nuova classe Place, devi prima attivare l'API Places (nuova) nel tuo progetto Google Cloud. Per scoprire di più, consulta la sezione Guida introduttiva.

Modifiche generali

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

PlacesService (legacy) Place (novità)
I metodi richiedono l'utilizzo di un callback per gestire l'oggetto risultati e la risposta google.maps.places.PlacesServiceStatus. Utilizza le promesse e funziona in modo asincrono.
I metodi richiedono un controllo PlacesServiceStatus. Nessun controllo dello stato richiesto, è possibile utilizzare la gestione degli errori standard.
I campi dei dati dei luoghi sono formattati utilizzando il nome in minuscolo con lettere iniziali maiuscole. I campi di dati dei luoghi sono formattati utilizzando il camel case.
Limitato a un insieme fisso di tipi di luoghi e campi di dati sui luoghi. Fornisce una selezione ampliata di tipi di luoghi e campi di dati dei luoghi aggiornati regolarmente.

Modifiche specifiche per l'API

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

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

Servizio Luoghi (legacy) Classe di luogo (nuova)
Campi dei dati dei luoghi Campi dei dati della classe di luogo
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
Corso Autocomplete Corso PlaceAutocompleteElement
Corso SearchBox ---

Carica la libreria Places

Il modo in cui la tua app carica la libreria Places dipende dal caricatore di bootstrap in uso. Se la tua app utilizza l'importazione di librerie dinamiche, puoi caricare le librerie necessarie in fase di esecuzione 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 all'utilizzo della versione più recente dell'API Places: