Guida all'ottimizzazione

Questa guida descrive diverse strategie per ottimizzare le tue API di Google Maps all'utilizzo in termini di sicurezza, prestazioni e fruizione dei contenuti.

Sicurezza

Esaminare le best practice per la sicurezza

Le chiavi API sono credenziali incentrate sul progetto che meritano le stesse precauzioni come ID utente e password. Esamina il Best practice di sicurezza delle API per proteggere le tue chiavi uso non intenzionale che potrebbe comportare un utilizzo eccessivo della quota e addebiti imprevisti al 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 su quelle di livello inferiore. Anche se l'utilizzo degli ID client è ancora supportato, le chiavi API che supportano controlli di sicurezza granulari e possono essere ottimizzati per lavorare con indirizzi web, indirizzi IP e SDK per dispositivi mobili (Android e iOS). Per informazioni Per informazioni su come creare e proteggere una chiave API, consulta la sezione "Utilizzo di una chiave API" pagina per ogni API o SDK. Ad esempio, per l'API Maps JavaScript, visita la relativa pagina sull'utilizzo di una chiave API.

Prestazioni

Utilizzo del backoff esponenziale per gestire gli errori

Se le tue app subiscono errori a causa di un numero eccessivo di tentativi di chiamata a un'API in un breve periodo di tempo, ad esempio errori QPS, ti consigliamo di utilizzare backoff esponenziale per consentire l'elaborazione delle richieste.

Il backoff esponenziale è utile soprattutto per gli errori dei 500 secondi. Per ulteriori informazioni, consulta Gestione dei codici di stato HTTP restituiti.

In particolare, regola la velocità delle query. Nel codice, aggiungi un periodo di attesa di S secondi tra una query e l'altra. Se la query continua a generare risultati in un errore QPS, raddoppia il periodo di attesa e invia un'altra query. Continua regolando il periodo di attesa fino a quando la query non restituisce un errore.

Invio di richieste di interazione degli utenti 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, poi utilizzare i risultati per caricare una mappa, impostare destinazione o mostrare le informazioni appropriate. Utilizzo di un approccio on demand evita richieste non necessarie alle API, riducendo il consumo delle API.

Evitare di visualizzare contenuti di overlay quando una mappa è in movimento

Evita di utilizzare Draw() per visualizzare contemporaneamente contenuti di overlay personalizzati su una mappa l'ora in cui un utente potrebbe spostare la mappa. Poiché la mappa viene sempre ridisegnata un utente sposta la mappa; contemporaneamente, puoi posizionare i contenuti di overlay sulla mappa introducono ritardi o stuttering visivi. Aggiungi o rimuovi i contenuti dell'overlay solo da un una volta che l'utente smette di eseguire la panoramica o lo zoom.

Vengono evitate operazioni intensive nei metodi Draw

Come regola generale, è buona norma evitare applicazioni dispendiose in termini di prestazioni operazioni non di disegno 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 DOM (Document Object Model).

Queste operazioni possono rallentare le prestazioni e introdurre ritardi o stuttering della vista quando viene visualizzata la mappa.

Uso di immagini raster per gli indicatori

Durante l'aggiunta, utilizza immagini raster, ad esempio in formato .PNG o .JPG per identificare un luogo su una mappa. Evita di utilizzare il vettore scalabile Immagini grafiche (SVG), poiché il rendering delle immagini SVG può introdurre ritardi quando la mappa viene ridisegnata.

Ottimizzazione degli indicatori

L'ottimizzazione migliora il rendimento eseguendo il rendering di molti indicatori come un singolo elemento statico . Ciò è utile nei casi in cui è necessario un numero elevato di indicatori. Per impostazione predefinita, l'API Maps JavaScript deciderà se un indicatore verrà ottimizzato. Quando il numero di indicatori è elevato, il valore L'API Maps JavaScript tenterà di eseguire il rendering degli indicatori con e ottimizzazione. Non tutti gli indicatori possono essere ottimizzati; in alcune situazioni, L'API Maps JavaScript potrebbe richiedere il rendering degli indicatori senza e ottimizzazione. Disattiva il rendering ottimizzato per GIF o PNG animate o quando ogni indicatore deve essere visualizzato come elemento DOM separato.

Creazione di cluster per gestire la visualizzazione degli indicatori

Per facilitare la visualizzazione degli indicatori e identificare luoghi su una mappa, per creare un cluster di indicatori utilizzando nella libreria Marker Clusterer. La libreria Clusterer indicatori include opzioni per:

  • Dimensioni della griglia, per specificare il numero di indicatori da raggruppare in un cluster.
  • Zoom massimo, per specificare il livello massimo di zoom in cui per visualizzare il cluster.
  • Percorsi delle immagini, per le immagini grafiche da utilizzare come icone degli indicatori.

Consumo

Per pianificare il budget e controllare i costi:

  • Configurare un avviso relativo al budget per monitorare l'aumento dei costi rispetto a un determinato importo. Impostare un budget non limita l'utilizzo dell'API, ma ti avvisa solo quando i costi si avvicinano l'importo specificato.
  • Limitare l'utilizzo giornaliero dell'API e gestire i costi delle API fatturabili. Impostando limiti sulle richieste per giorno, puoi limitare i costi. Usa una semplice equazione per determinare la tua attività in base a quanto vuoi spendere: (mensile) costo/prezzo per ognuno )/30 = limite di richieste al giorno (per un'API). La tua implementazione specifica può utilizzare più API fatturabili, quindi modifica l'equazione in base alle tue esigenze. R 200$di credito per le API di Google Maps è disponibile ogni mese, quindi tienine conto nei tuoi calcoli.
  • Utilizza più progetti per isolare, assegnare le priorità e monitorare l'utilizzo. Ad esempio, supponi di utilizzare regolarmente le API Google Maps Platform nelle tue test. Creando un progetto separato per i test, con le proprie quote e Chiavi API: è possibile effettuare test approfonditi evitando sorprese spesa eccessiva.

Gestire il consumo in Maps

L'utilizzo di una sola mappa per pagina è un buon metodo per ottimizzare la visualizzazione delle mappe, poiché in genere gli utenti interagiscono con una sola mappa alla volta. La tua app può manipolare la mappa per visualizzare diversi set di dati a seconda dell'interazione con il cliente ed esigenze.

Utilizzo di immagini statiche

Costo delle richieste che utilizzano immagini dinamiche (Dynamic Maps e Dynamic Street View) più di Static Maps e Static Street View. Se non prevedi un utente l'interazione con Mappa o Street View (zoom o panoramica), utilizza di queste API.

Anche le miniature (mappe molto piccole e foto) possono essere utili per il formato statico. Maps e Static Street View. Questi articoli vengono fatturati a una tariffa inferiore e a l'interazione dell'utente (al clic) e può indirizzare gli utenti a una versione dinamica per Esperienza di Google Maps.

Utilizzo dell'API Maps Embed

Puoi utilizzare l'API Maps Embed per aggiungere una mappa con un un singolo indicatore o una mappa dinamica, senza costi. Utilizza la l'API Maps Embed per applicazioni in cui e non è necessario personalizzare la mappa. le richieste API Maps Embed con la modalità Directions per la modalità di visualizzazione o per la modalità di ricerca (vedi tabella dei prezzi per maggiori dettagli).

Utilizzo degli SDK per le mappe mobile per le applicazioni mobile

Per le app mobile, utilizza Maps SDK for Android oppure SDK Maps per iOS durante la visualizzazione di una mappa. Utilizza l'API Maps Static o l'API Maps JavaScript se non sono previsti requisiti usando gli SDK per dispositivi mobili.

Gestione del consumo nelle route

Limitazione delle tappe dell'API Directions

Se possibile, limita le voci utente in una query a un massimo di 10 tappe. Le richieste contenenti più di 10 tappe vengono fatturate a una tariffa superiore.

Utilizzo dell'ottimizzazione dell'API Directions per ottimizzare i percorsi

Le richieste che utilizzano l'argomento ottimizzazione delle tappe vengono fatturate a una tariffa superiore. Per ulteriori informazioni, vedi Ottimizzare i waypoint.

L'argomento di ottimizzazione ordina le tappe per garantire un routing ottimale, il che significa che viaggiare da A a E è un'esperienza migliore se ottimizzata (A-B-C-D-E) rispetto alla sequenza casuale di un percorso non ottimizzato (ad es. A-D-B-C-E).

Utilizzo di modelli del traffico in tempo reale nell'API Directions e nell'API Distance Matrix

API Directions e API Distance Matrix le richieste che includono modelli di traffico in tempo reale vengono fatturate a una tariffa superiore. I modelli di traffico in tempo reale vengono attivati impostando l'orario di partenza su now.

Se i modelli di traffico vengono omessi da una richiesta, i risultati si basano in base a fattori fisici: strade, distanza e limiti di velocità.

Utilizzo di Percorso percorso e Strada più vicina quando i dati GPS non sono precisi

Le funzionalità dell'API Maps Roads, Route Traveled e La strada più vicina, incluse nel livello avanzato e fatturate a un livello di conversione. Usa queste funzioni dove i dati GPS sono imprecisi e L'API Roads può aiutare a determinare la strada corretta. Velocità Limits, un'altra funzionalità dell'API Roads, è disponibile solo per i clienti che utilizzano il monitoraggio degli asset.

Posizioni dei limiti di velocità di campionamento a intervalli di 5-15 minuti

Per ridurre al minimo il volume delle chiamate all'API Maps Roads Servizio di limite di velocità, campiona le posizioni degli asset a 5-15 minuti intervalli. Il valore esatto dipende dalla velocità con cui un asset viene in viaggio. Se un asset è fisso, viene eseguito un singolo campione della posizione sufficienti. Non è necessario effettuare più chiamate.

Per ridurre al minimo la latenza complessiva, chiama il servizio Limite di velocità una volta ha accumulato alcuni dati invece di chiamare l'API ogni volta posizione di un asset per dispositivi mobili.

Gestione del consumo in Places

Ottimizzazione delle implementazioni di Place Autocomplete

Per ottimizzare il costo dell'utilizzo di Place Autocomplete:

  • Utilizzare le maschere dei campi nei widget di completamento automatico per JavaScript, Android e iOS, in modo da restituire solo i campi dei dati dei luoghi necessari.

  • la selezione delle opzioni di fatturazione dipende dal caso d'uso specifico. A seconda che la tua implementazione utilizzi o meno le sessioni di completamento automatico, ti verranno addebitati gli SKU Completamento automatico - Per richiesta o Completamento automatico - Per sessione.

Per maggiori informazioni e indicazioni sulla scelta dell'opzione giusta per il tuo caso d'uso, consulta Applica le best practice per l'ottimizzazione dei costi di Autocomplete.

Restituzione di dati per campi specifici nelle richieste Place Details e Place Search

Puoi personalizzare le richieste Place Details e Place Search per restituire dati per campi specifici usati nella tua applicazione. Questi campi sono suddivisi in categorie: Base, Contatti e Atmosfera. Richieste che non specifica tutti i campi riceveranno i dati per tutti i campi.

La fatturazione per le richieste Place Details si basa sui tipi e sugli importi una quantità di dati richiesti. Le richieste che non specificano alcun campo saranno fatturate a tariffa intera. Per ulteriori informazioni, consulta le sezioni Place Details (Dettagli luogo) e Place Search (Ricerca di luoghi).

Ridurre i costi utilizzando l'API Geocoding

Se l'applicazione gestisce gli indirizzi digitati dall'utente, questi vengono talvolta ambiguo (incompleto, con errori ortografici o con formattazione scadente). Disambigua gli indirizzi utilizzando il completamento automatico, quindi utilizza gli ID luogo per ottenere le posizioni dei luoghi.

Se hai un indirizzo esatto (o vicino a quest'ultimo), puoi ridurre utilizzando Geocoding anziché Autocomplete. Per ulteriori dettagli, consulta le best practice per gli indirizzi di geocodifica.

Come funzionano le quote di Google Maps Platform

Tutte le nostre API impongono dei limiti al numero di chiamate che ogni cliente può effettuare. Questi le quote sono configurate al minuto. Una volta raggiunta la quota di chiamate su una determinata API tra un minuto, le chiamate future non saranno accettate fino al minuto successivo.

Vengono prese in considerazione solo le richieste andate a buon fine e quelle che causano errori del server quota. Le richieste che non superano l'autenticazione non vengono conteggiate ai fini della quota.

Diverse API di Google Maps vengono applicate al secondo oltre alla quota al minuto dell'applicazione delle norme. Questa applicazione al secondo non garantisce un utilizzo uniforme di l'intero minuto né ti impedisce di raggiungere la quota di utilizzo in quel minuto. Ti impedisce di esaurire tutta la tua quota nei primi al secondo o due al minuto e ti protegge dalle interruzioni del servizio in caso di picchi di utilizzo improvviso. Per far fronte a queste differenze di applicazione, pianifica l'utilizzo delle quote e i requisiti calcolando la media dell'utilizzo di QPM in QPS.

Le API di GMP con questa applicazione al secondo API Directions, API Distance Matrix, API Elevation, Geocoding, API Places e API Roads.

Stima i costi per qualsiasi prodotto API di GMP, in base al volume totale di richieste.