Questa guida evidenzia le differenze principali 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, acquisisci familiarità 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 ai prezzi del secondo livello. Quando esegui la migrazione a una versione più recente di un'API, ti viene fatturato 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, durante il mese della migrazione, potrai usufruire dei 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 abilitare l'API Places (nuova) nel tuo progetto Google Cloud. Per saperne di più, consulta Inizia.
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 Promise e funziona in modo asincrono. |
I metodi richiedono un controllo PlacesServiceStatus. |
Non è richiesto alcun controllo dello stato, è possibile utilizzare la gestione degli errori standard. |
| I campi di dati dei luoghi sono formattati utilizzando lo snake case. | I campi di dati dei luoghi sono formattati utilizzando la notazione a cammello. |
| Limitato a un insieme fisso di tipi di luoghi e campi di dati dei 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 pattern di utilizzo moderni come le Promise. La classe Place espone gli stessi campi di dati e tipi di luoghi del servizio Places precedente 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 mappate a quelle della classe Place:
Carica la libreria Places
Il modo in cui l'app carica la libreria Places dipende dal boot loader in uso. Se la tua app utilizza l'importazione dinamica delle librerie, 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 degli 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 per utilizzare l'ultima versione dell'API Places:
- Esegui la migrazione a Place Details
- Esegui la migrazione a Ricerca testuale (Nuovo)
- Esegui la migrazione a Nearby Search (New)
- Esegui la migrazione a Place Photos
- Esegui la migrazione a Recensioni luoghi
- Esegui la migrazione a Place Autocomplete