La geocodifica è il processo di conversione di indirizzi (ad esempio un indirizzo stradale) in coordinate geografiche (latitudine e longitudine) che puoi utilizzare per posizionare indicatori su una mappa o per posizionare la mappa stessa. Lo scopo di questo documento è chiarire le considerazioni da tenere presenti quando si esegue il geocodifica degli indirizzi. Descrive quando è ottimale utilizzare l'API Geocoding e quando è utile utilizzare il servizio Place Autocomplete dell'API Places.
In generale, utilizza l'API Geocoding per geocodificare indirizzi completi (ad esempio "48 Pirrama Rd, Pyrmont, NSW, Australia"). Utilizza il servizio Place Autocomplete dell'API Places per il geocodificazione di indirizzi ambigui (incompleti) o per applicazioni sensibili alla latenza, ad esempio quando rispondi all'input dell'utente.
Casi d'uso e consigli sulle API
Casi d'uso e consigli sulle API | |
---|---|
Rispondere in tempo reale agli input degli utenti (inclusi indirizzi ambigui, incompleti, formattati male o con errori ortografici inseriti da un utente) | Utilizza il servizio Place Autocomplete dell'API Places per ottenere un ID luogo, quindi l'API Geocoding per geocodificare l'ID luogo in un valore latlng. |
Sistemi automatici che elaborano indirizzi postali completi e non ambigui (ad esempio "48 Pirrama Rd, Pyrmont, NSW, Australia"). | Utilizza il servizio web dell'API Geocoding. |
Sistemi automatici che elaborano query ambigue (ad esempio indirizzi incompleti, con formattazione scadente o con errori ortografici) | Consiglia ai sistemi automatici di utilizzare il servizio web dell'API Geocoding. Tuttavia, i sistemi automatici con un elevato tasso di query ambigue, incomplete o con errori ortografici derivanti dall'input degli utenti possono trarre vantaggio dall'aggiunta di un widget di completamento automatico dei luoghi interattivo per consentire agli utenti di selezionare un risultato ed evitare di commettere errori ortografici in un indirizzo. |
Problemi di latenza con l'API Directions o con l'API Distance Matrix, con origini, destinazioni o punti di passaggio specificati come stringhe di indirizzi | Riduci la latenza del geocodifica utilizzando il servizio Place Autocomplete dell'API Places per ottenere gli ID luogo, quindi passa gli ID luogo all'API Maps Directions o all'API Distance Matrix. |
Rispondere all'input dell'utente
Le applicazioni che rispondono in tempo reale all'input dell'utente devono tenere conto di due aspetti principali che influiscono sulla scelta dell'API:
- L'input dell'utente generalmente prevede l'inserimento progressivo di un indirizzo (ad esempio "123 Main Street"), pertanto la possibilità di geocodificare indirizzi incompleti e ambigui è utile in quanto consente all'utente di ottenere un risultato più rapidamente.
- Le applicazioni che rispondono all'input utente sono molto sensibili alla latenza.
Queste due considerazioni rendono il servizio Place Autocomplete nell'API Places ideale per il caso d'uso di risposta all'input dell'utente. Il completamento automatico dei luoghi è progettato per restituire più opzioni possibili e consentire all'utente di scegliere tra queste. L'API Places può essere limitata alla ricerca solo di codici geografici o indirizzi, escludendo le attività. Inoltre, la funzione di ricerca di completamento automatico può essere influenzata per restituire risultati specifici per una località. L'API Places restituisce un ID luogo che può essere passato come posizione completamente distinta al servizio web dell'API Geocoding, che poi restituisce i dettagli completi dell'indirizzo e esegue il geocodifica dell'indirizzo in un valore latlng. Gli ID luogo possono essere trasmessi anche ad altre API, come l'API Directions e l'API Distance Matrix (vedi di seguito).
Il geocodificazione degli indirizzi nell'API Geocoding ha una latenza molto più elevata e produce anche risultati meno accurati per query incomplete o ambigue, pertanto non è consigliata per le applicazioni che devono rispondere in tempo reale all'input degli utenti.
Scopri di più sul servizio Place Autocomplete per Android, iOS, JavaScript, e sull' API Places.
Sistemi automatici
Sistemi automatici che elaborano indirizzi postali completi e non ambigui: le query non ambigue, come le stringhe di indirizzi postali completi (ad esempio "48 Pirrama Rd, Pyrmont, NSW, Australia"), sono gestite al meglio dal servizio web dell'API Geocoding. Il backend di geocodifica degli indirizzi offre una maggiore copertura degli indirizzi a livello globale ed è ottimizzato per risultati di alta qualità con questi tipi di query complete e non ambigue.
Sistema automatico che elabora query ambigue: le query ambigue sono quelle che contengono indirizzi formattati male, indirizzi incompleti o errori ortografici. Per i sistemi automatici, consigliamo di utilizzare il servizio web dell'API Geocoding. Tuttavia, l'API Geocoding non è progettata per gestire query ambigue e potrebbe produrre risultati meno accurati o zero risultati in risposta a query ambigue. Se il tuo sistema automatico elabora un tasso elevato di query ambigue derivanti dall'input dell'utente, potresti trarre vantaggio dall'aggiunta di un elemento interattivo alla tua app utilizzando il servizio di completamento automatico dei luoghi nell'API Places, poiché è progettato per restituire più opzioni possibili e consentire a un utente di scegliere tra queste. L'API Places restituisce un ID luogo che può essere passato come posizione completamente distinta al servizio web dell'API Geocoding, che poi restituisce i dettagli dell'indirizzo completo e geocodifica l'indirizzo in un valore latlng. Scopri di più sul servizio Place Autocomplete per Android, iOS, JavaScript, e sull' API Places.
Riduci la latenza per l'API Directions e l'API Distance Matrix
Quando le origini, le destinazioni o i punti intermedi sono specificati come stringhe di indirizzi, l'API Directions e l' API Distance Matrix utilizzano lo stesso backend dell'API Geocoding per geocodificare questi indirizzi prima di calcolare le indicazioni stradali. Ciò aumenta notevolmente la latenza rispetto alla specifica delle stesse posizioni dei latlng o degli ID luogo.
Se la tua applicazione utilizza l'API Directions o l'API Distance Matrix in una situazione sensibile alla latenza, come rispondere ai compiti dell'utente, e le origini, le destinazioni o i waypoint sono inizialmente specificati come stringhe di indirizzi, ti consigliamo di ridurre al minimo la latenza utilizzando il servizio Place Autocomplete dell'API Places per convertire le stringhe di indirizzi in ID luogo, quindi passare gli ID luogo all'API Directions o all'API Distance Matrix. Scopri di più sul servizio Place Autocomplete per Android, iOS, JavaScript e sull' API Places. Consulta anche un esempio di codice JavaScript di indicazioni stradali e completamento automatico dei luoghi.
Conclusione
A seconda del caso d'uso, quando esegui il geocoding degli indirizzi, l'utilizzo dell'API Geocoding o del servizio di completamento automatico dei luoghi in combinazione con l'API Geocoding ti consente di creare applicazioni che offrono agli utenti risultati di geocodifica accurati e una latenza ridotta.
Gestire errori e tentativi di nuovo invio
Se ricevi risposte UNKNOWN_ERROR
, queste sono causate da errori temporanei
e possono essere gestite meglio riprovando dopo un breve ritardo. Ti consigliamo di utilizzare le
librerie client dei servizi web di Google Maps Platform, che includono la logica di ripetizione e supportano l'autenticazione del piano Premium di Google Maps Platform.
Il client Java,
client Python,
client Go,
e il client Node.js
per i servizi Google Maps sono librerie client supportate dalla community, disponibili per il download
e i contributi su GitHub, dove troverai anche le istruzioni di installazione e
il codice di esempio.
Se ricevi un codice di stato OVER_QUERY_LIMIT
come risposta, hai
superato i limiti di utilizzo dell'API. Ti consigliamo di provare queste
strategie di ottimizzazione dell'utilizzo.