Questa guida descrive diverse strategie per ottimizzare l'utilizzo delle API di Google Maps in termini di sicurezza, prestazioni e consumo.
Sicurezza
Esamina le best practice per la sicurezza
Le chiavi API sono credenziali incentrate sul progetto che richiedono 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 imprevisto 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 specifici (Android e iOS). Per informazioni su come creare e proteggere una chiave API, vai alla pagina "Utilizzo di una chiave API" per ogni API o SDK. Ad esempio, per l'API Maps JavaScript, visita la pagina sull'utilizzo di una chiave API.
Prestazioni
Utilizzo del backoff esponenziale per gestire gli errori
Se le tue app presentano errori dovuti a tentativi eccessivi di chiamare un'API in un breve periodo di tempo, ad esempio errori di quota, ti consigliamo di utilizzare il backoff esponenziale per consentire l'elaborazione delle richieste.
Il backoff esponenziale è più utile per gli errori nella serie 500. Per ulteriori informazioni, consulta la sezione Gestire i codici di stato di ritorno HTTP.
In particolare, regola il ritmo delle query. Nel codice, aggiungi un periodo di attesa di S
secondi tra le query. Se la query continua a generare 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 restituisce un risultato senza errori.
Invio di richieste di interazione con l'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 all'API, quindi utilizzare i risultati per caricare una mappa, impostare una destinazione o visualizzare le informazioni appropriate. L'utilizzo di un approccio on demand consente di evitare richieste non necessarie alle API, riducendone il consumo.
Evitare la visualizzazione dei contenuti in overlay quando una mappa è in movimento
Evita di utilizzare Draw()
per visualizzare contenuti in overlay personalizzati su una mappa contemporaneamente allo spostamento della mappa da parte dell'utente. Poiché la mappa viene ridisegnata ogni volta che un utente la sposta, l'inserimento di contenuti in overlay sulla mappa contemporaneamente può causare ritardi o balbuzie visive. Aggiungi o rimuovi i contenuti in overlay da una mappa solo quando l'utente interrompe la panoramica o lo zoom.
Evitare operazioni intensive nei metodi Draw
Come regola generale, è buona prassi evitare operazioni di disegno con un'elevata intensità di 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.
- Manipolare molti elementi Document Object Model (DOM).
Queste operazioni possono rallentare le prestazioni e introdurre ritardi o balbuzie visive prilikom prikazivanja karte.
Utilizzo di immagini raster per gli indicatori
Utilizza immagini raster, ad esempio quelle 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ò causare ritardi quando la mappa viene ridisegnata.
Indicatori di ottimizzazione
L'ottimizzazione migliora le prestazioni perché esegue 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 ottimizzare un indicatore. Quando è presente un numero elevato di indicatori, l'API JavaScript di Maps tenterà di visualizzarli con ottimizzazione. Non tutti gli indicatori possono essere ottimizzati. In alcuni casi, l'API Maps JavaScript potrebbe dover eseguire il rendering degli indicatori senza ottimizzazione. Disattiva il rendering ottimizzato per GIF animate o file PNG oppure 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 cluster di indicatori utilizzando la biblioteca 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 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 Gestire i costi.