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