Panoramica della migrazione

Questa guida mette in evidenza le differenze principali tra il servizio legacy Luoghi e la nuova classe Luogo. 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.

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 Luoghi 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: