Questa guida descrive diverse strategie per ottimizzare l'utilizzo delle API di Google Maps in termini di sicurezza, prestazioni e consumo.
Sicurezza
Esame delle best practice per la sicurezza
Le chiavi API sono credenziali incentrate sul progetto che meritano le stesse precauzioni di ID utente e password. Consulta le best practice per la sicurezza delle API per proteggere le tue chiavi da un utilizzo non intenzionale che potrebbe comportare un utilizzo eccessivo della quota e addebiti imprevisti sul tuo account.
Utilizzo delle chiavi API per accedere alle API di Maps
Le chiavi API sono il metodo di autenticazione preferito per accedere alle API di Google Maps. Sebbene l'utilizzo degli ID client sia ancora supportato, le chiavi API supportano controlli di sicurezza più granulari e possono essere ottimizzate per funzionare con indirizzi web, indirizzi IP e SDK mobile (Android e iOS) specifici. Per informazioni sulla creazione e la protezione di una chiave API, consulta la pagina "Utilizzo di una chiave API" per ogni API o SDK. Ad esempio, per l'API Maps JavaScript, visita la pagina Utilizzo di una chiave API.
Rendimento
Utilizzo del backoff esponenziale per gestire gli errori
Se le tue app riscontrano errori dovuti a tentativi eccessivi di chiamare un'API in un breve periodo di tempo, ad esempio errori di quota, valuta la possibilità di utilizzare il backoff esponenziale per consentire l'elaborazione delle richieste. Il backoff esponenziale è più utile per gli errori nella serie 500.
In particolare, regola la velocità delle query. Nel codice, aggiungi
un periodo di attesa di S
secondi tra le query. Se la query restituisce ancora un errore di quota, raddoppia il periodo di attesa e invia un'altra query. Continua
a modificare il periodo di attesa finché la query non viene restituita senza errori.
Invio di richieste di interazione con l'utente on demand
Le richieste alle API che includono l'interazione dell'utente devono essere inviate solo su richiesta.
Ciò significa attendere che l'utente finale esegua un'azione (ad esempio on-click
)
per avviare la richiesta API, quindi utilizzare i risultati per caricare una mappa, impostare una
destinazione o visualizzare le informazioni appropriate. L'utilizzo di un approccio on demand
evita richieste non necessarie alle API, riducendo il consumo di API.
Evitare la visualizzazione di contenuti overlay quando una mappa è in movimento
Evita di utilizzare Draw()
per visualizzare contenuti overlay personalizzati su una mappa nello stesso momento in cui un utente potrebbe spostare la mappa. Poiché la mappa viene ridisegnata ogni volta
che un utente la sposta, il posizionamento contemporaneo di contenuti di overlay sulla mappa può
introdurre ritardi o scatti visivi. Aggiungi o rimuovi i contenuti di overlay da una
mappa solo quando l'utente smette di spostarsi o ingrandire.
Evitare operazioni intensive nei metodi Draw
Come regola generale, è buona prassi evitare operazioni
non di disegno che richiedono molte risorse nel metodo Draw()
. Ad esempio, evita
quanto segue nel codice del metodo Draw()
:
- Query che restituiscono una grande quantità di contenuti.
- Molte modifiche ai dati visualizzati.
- Manipolazione di molti elementi DOM (Document Object Model).
Queste operazioni possono rallentare le prestazioni e introdurre ritardi o interruzioni visive durante il rendering della mappa.
Utilizzo di immagini raster per i marcatori
Utilizza immagini raster, ad esempio immagini in formato .PNG o .JPG, quando aggiungi indicatori per identificare una posizione su una mappa. Evita di utilizzare immagini Scalable Vector Graphics (SVG), poiché il rendering delle immagini SVG può introdurre ritardi quando la mappa viene ridisegnata.
Ottimizzazione dei marcatori
L'ottimizzazione migliora il rendimento eseguendo il rendering di molti indicatori come un singolo elemento statico. È utile nei casi in cui è necessario un numero elevato di indicatori. Per impostazione predefinita, l'API Maps JavaScript decide se un indicatore verrà ottimizzato. Quando è presente un numero elevato di indicatori, l'API Maps JavaScript tenterà di eseguirne il rendering con l'ottimizzazione. Non tutti i marcatori possono essere ottimizzati; in alcune situazioni, l'API Maps JavaScript potrebbe dover eseguire il rendering dei marcatori senza ottimizzazione. Disattiva il rendering ottimizzato per GIF animate o PNG oppure quando ogni marcatore deve essere visualizzato come elemento DOM separato.
Creazione di cluster per gestire la visualizzazione dei marcatori
Per gestire la visualizzazione degli indicatori per identificare le posizioni su una mappa, crea un cluster di indicatori utilizzando la libreria Marker Clusterer. La libreria Marker Clusterer include opzioni per:
- Dimensione della griglia, per specificare il numero di indicatori da raggruppare in un cluster.
- Zoom massimo, per specificare il livello di zoom massimo in cui visualizzare il cluster.
- Percorsi delle immagini, per le immagini grafiche da utilizzare come icone dei marcatori.
Consumo
Per informazioni sulla gestione dei costi di Google Maps Platform, tra cui la creazione di budget, la modifica delle quote e l'impostazione di avvisi, consulta la pagina Gestire i costi.