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 richiedono le stesse precauzioni degli ID utente e delle password. Consulta le best practice per la sicurezza delle API per proteggere le tue chiavi da un utilizzo involontario che potrebbe comportare un utilizzo indebito della quota e addebiti imprevisti sul tuo account.
Utilizzo delle chiavi API per accedere alle API di Google 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 sulla protezione di una chiave API, vai alla pagina "Utilizzo di una chiave API" per ogni API o SDK. Ad esempio, per l'API Maps JavaScript, consulta la pagina Utilizzo di una chiave API.
Prestazioni
Utilizzo del backoff esponenziale per gestire gli errori
Se le tue app riscontrano errori dovuti a un numero eccessivo di tentativi di chiamata a 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 della serie 500.
In particolare, regola il ritmo delle query. Nel codice, aggiungi un periodo di attesa di S secondi tra le query. Se la query genera ancora un errore di quota, raddoppia il periodo di attesa e invia un'altra query. Continua ad aggiustare il periodo di attesa finché la query non viene restituita senza errori.
Invio di richieste di interazione dell'utente on demand
Le richieste alle API che includono l'interazione dell'utente devono essere inviate solo on demand.
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 delle API.
Evita di visualizzare contenuti in overlay quando una mappa è in movimento
Evita di utilizzare Draw() per visualizzare contenuti overlay personalizzati su una mappa mentre un utente potrebbe spostarla. Poiché la mappa viene ridisegnata ogni volta che un utente la sposta, l'inserimento di contenuti in overlay sulla mappa contemporaneamente può introdurre ritardi o stuttering visivo. Aggiungi o rimuovi i contenuti in overlay da una mappa solo quando l'utente interrompe il panning o lo zoom.
Evita operazioni intensive nei metodi Draw
Come regola generale, è buona norma evitare operazioni non di disegno ad alte prestazioni in un 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 stuttering visivo durante il rendering della mappa.
Utilizzo di immagini raster per gli indicatori
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 un ritardo quando la mappa viene ridisegnata.
Ottimizzazione degli indicatori
L'ottimizzazione migliora le prestazioni eseguendo il rendering di molti indicatori come un singolo elemento statico. Questo è 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 tenta di eseguirne il rendering con l'ottimizzazione. Non tutti gli indicatori possono essere ottimizzati. In alcune situazioni, l'API Maps JavaScript potrebbe dover eseguire il rendering degli indicatori senza ottimizzazione. Disattiva il rendering ottimizzato per le GIF o i PNG animati o quando ogni indicatore deve essere visualizzato come elemento DOM separato.
Creazione di cluster per gestire la visualizzazione degli indicatori
Per gestire la visualizzazione degli indicatori per identificare le località su una mappa, crea un raggruppatore di indicatori utilizzando la libreria Marker Clusterer. La libreria Marker Clusterer include opzioni per:
- Dimensioni 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 degli indicatori.
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 Gestisci i costi.