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 ottenere il massimo da Places e assicurarti che le tue app siano aggiornate, familiarizza con le modifiche descritte in questa guida.
Best practice di fatturazione per la migrazione
Queste indicazioni si applicano se l'utilizzo dell'API è sufficientemente elevato da passare al prezzo di secondo livello. Quando esegui la migrazione a una versione più recente di un'API, ti viene addebitato anche un SKU diverso. Per evitare costi maggiori durante il mese di transizione, ti consigliamo di passare alle nuove API in produzione il più vicino possibile all'inizio del mese. In questo modo, durante il mese della 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 API Places. Per utilizzare le funzionalità della nuova classe Place, devi prima attivare l'API Places (New) nel tuo progetto Google Cloud. Per maggiori informazioni, consulta la sezione Guida introduttiva.
Modifiche generali
La seguente tabella elenca alcune delle principali differenze tra PlacesService
e Place
:
PlacesService (legacy) |
Place (nuovo) |
---|---|
I metodi richiedono l'utilizzo di un callback per gestire l'oggetto dei 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 di dati del luogo sono formattati utilizzando la notazione snake case. | I campi di dati del luogo sono formattati utilizzando la notazione camel case. |
Limitato a un insieme fisso di tipi di luoghi e campi di dati sui luoghi. | Fornisce una selezione più ampia di tipi di luoghi e campi di dati sui luoghi aggiornati regolarmente. |
Modifiche specifiche per l'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 di dati e tipi di luogo del servizio Places legacy e include molti nuovi valori per i campi di dati e i tipi di luogo.
Questa tabella mostra la mappatura delle funzionalità del servizio Places con quelle della classe Place:
Caricare la libreria Places
Il modo in cui la tua app carica la libreria Places dipende dal caricatore bootstrap in uso. Se la tua app utilizza l'importazione dinamica di librerie,
puoi caricare le librerie necessarie in fase di runtime utilizzando l'operatore await
per
chiamare importLibrary()
, come mostrato qui:
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:
- Migrazione a Place Details
- Esegui la migrazione alla ricerca di testo (novità)
- Eseguire la migrazione alla ricerca nelle vicinanze (novità)
- Eseguire la migrazione a Place Photos
- Eseguire la migrazione alle recensioni dei luoghi
- Eseguire la migrazione a Place Autocomplete