Guida all'ottimizzazione

Questa guida descrive diverse strategie per ottimizzare l'utilizzo delle API Google Maps in termini di sicurezza, prestazioni e consumo.

Sicurezza

Esaminare le best practice per la sicurezza

Le chiavi API sono credenziali incentrate sul progetto che meritano le stesse precauzioni degli ID utente e delle password. Consulta le best practice per la sicurezza delle API per proteggere le chiavi da un utilizzo non intenzionale che potrebbe comportare un utilizzo eccessivo della quota e addebiti imprevisti sul tuo account.

Utilizzare le chiavi API per accedere alle API Maps

Le chiavi API sono il metodo di autenticazione preferito per accedere alle API 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, consulta la pagina "Utilizzo di una chiave API" per ogni API o SDK. (Ad esempio, per l' API Maps JavaScript, visita la pagina relativa all'utilizzo di una chiave API.)

Rendimento

Utilizzare il 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 genera ancora un errore di quota, raddoppia il periodo di attesa e invia un'altra query. Continua a regolare il periodo di attesa finché la query non restituisce un errore.

Invio di richieste di interazione utente su richiesta

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 di visualizzare contenuti di overlay quando una mappa è in movimento

Evita di utilizzare Draw() per visualizzare contenuti di overlay personalizzati su una mappa contemporaneamente a quando un utente potrebbe spostare la mappa. Poiché la mappa viene ridisegnata ogni volta che un utente la sposta, l'inserimento di contenuti di overlay sulla mappa contemporaneamente può introdurre ritardi o stuttering visivo. Aggiungi o rimuovi i contenuti di overlay da una mappa solo quando l'utente smette di eseguire il panning o lo zoom.

Evitare operazioni intensive nei metodi Draw

In generale, è buona norma evitare operazioni non di disegno che richiedono molte risorse 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.

Utilizzare immagini raster per gli indicatori

Utilizza immagini raster, ad esempio immagini in formato .PNG o .JPG, quando aggiungi indicatori per identificare una località su una mappa. Evita di utilizzare immagini SVG (Scalable Vector Graphics), poiché il rendering delle immagini SVG può introdurre ritardi quando la mappa viene ridisegnata.

Ottimizzare gli indicatori

L'ottimizzazione migliora le prestazioni 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 tenta di eseguire il rendering degli indicatori 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 GIF o PNG animati o quando ogni indicatore deve essere sottoposto a rendering come elemento DOM separato.

Creare cluster per gestire la visualizzazione degli indicatori

Per gestire la visualizzazione degli indicatori per identificare le località su una mappa, crea un cluster di indicatori utilizzando la libreria Marker Clusterer. La libreria Marker Clusterer include le seguenti opzioni:

  • 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 degli indicatori.

Consumo

Per informazioni sulla gestione dei costi di Google Maps Platform, inclusa la creazione di budget, la modifica delle quote e l'impostazione di avvisi, consulta Gestire i costi.