Best practice per gli indirizzi di geocodifica

La geocodifica è il processo di conversione degli indirizzi (come una via) in coordinate geografiche (latitudine e longitudine) che puoi utilizzare per posizionare gli indicatori su una mappa o per posizionare la mappa. Lo scopo di questo documento è chiarire le considerazioni relative alla geocodifica degli indirizzi. Descrive quando è ottimale utilizzare l'API Geocoding e quando è vantaggioso utilizzare il servizio Place Autocomplete dell'API Places.

In generale, utilizza l'API Geocoding per la geocodifica di indirizzi completi (ad esempio, "48 Pirrama Rd, Pyrmont, NSW, Australia"). Utilizza il servizio Place Autocomplete dell'API Places per la geocodifica di indirizzi ambigui (incompleti) o per applicazioni sensibili alla latenza, ad esempio quando rispondi all'input dell'utente.

Casi d'uso e suggerimenti per le API

Casi d'uso e suggerimenti per le API
Arrivo fisico, selezione avanzata della destinazione, consegna ultimo miglio, ritiro/consegna del car sharing, ingressi degli edifici o navigazione nel campus Utilizza il metodo Cerca destinazioni (SearchDestinations) nell'API Geocoding v4 per recuperare gli ingressi degli edifici, i punti di navigazione instradabili, i contorni degli edifici e i punti di riferimento nelle vicinanze. Consulta Scegli un metodo di geocodifica.
Rispondere in tempo reale all'input dell'utente (inclusi indirizzi ambigui, incompleti, formattati in modo errato o con errori ortografici inseriti da un utente) Utilizza il servizio Place Autocomplete dell'API Places per ottenere un ID luogo, quindi chiama SearchDestinations (per i dettagli iperlocali) o GeocodePlace (per le coordinate di base).
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 v4 (SearchDestinations per i dettagli iperlocali o GeocodeAddress per la ricerca delle coordinate).
Sistemi automatici che elaborano query ambigue (ad esempio, indirizzi incompleti, formattati in modo errato o con errori ortografici) Consiglia ai sistemi automatici di utilizzare il servizio web dell'API Geocoding. Tuttavia, i sistemi automatici con un tasso elevato di query ambigue, incomplete o con errori di ortografia derivate dall'input dell'utente possono trarre vantaggio dall'aggiunta di un widget Place Autocomplete interattivo per consentire agli utenti di selezionare un risultato ed evitare così di scrivere un indirizzo in modo errato.
Problemi di latenza durante l'utilizzo dell'API Directions (Legacy) o dell'API Distance Matrix (Legacy), con origini, destinazioni o waypoint specificati come stringhe di indirizzi Riduci la latenza di geocodifica utilizzando il servizio Place Autocomplete dell'API Places per ottenere gli ID luogo, quindi passa gli ID luogo all'API Directions (legacy) o all'API Distance Matrix (legacy).

Rispondere all'input dell'utente

Le applicazioni che rispondono in tempo reale all'input dell'utente hanno due considerazioni principali che influiscono sulla scelta dell'API:

  1. L'input dell'utente in genere prevede l'inserimento progressivo di un indirizzo (ad esempio "123 Main Street"), pertanto la possibilità di geocodificare indirizzi incompleti e ambigui è utile perché consente all'utente di ottenere un risultato più velocemente.
  2. 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 della risposta all'input dell'utente. Place Autocomplete è progettato per restituire più opzioni possibili e consentire all'utente di scegliere tra queste. L'API Places può essere limitata alla ricerca di soli geocodici o indirizzi, escludendo le attività. Inoltre, la funzione di ricerca con 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 disambiguata al servizio web dell'API Geocoding, che poi restituisce i dettagli completi dell'indirizzo e lo geocodifica in una coppia di coordinate di latitudine e longitudine. Gli ID luogo possono anche essere passati ad altre API, come l'API Directions (legacy) e l'API Distance Matrix (legacy) (consulta Riduci la latenza).

La geocodifica 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 dell'utente.

Scopri di più sul servizio Place Autocomplete per Android, iOS, JavaScript e l' 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"), vengono gestite al meglio dal servizio web 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 in modo errato, 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 nessun risultato in risposta a query ambigue. Se il tuo sistema automatico elabora un tasso elevato di query ambigue derivate dall'input dell'utente, potrebbe essere utile aggiungere un elemento interattivo alla tua app utilizzando il servizio Place Autocomplete nell'API Places, perché è 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 località completamente disambiguata al servizio web dell'API Geocoding, che poi restituisce i dettagli completi dell'indirizzo e lo geocodifica in una latitudine/longitudine. Scopri di più sul servizio Place Autocomplete per Android, iOS, JavaScript e l' API Places.

Riduci la latenza per l'API Directions (Legacy) e l'API Distance Matrix (Legacy)

Quando le origini, le destinazioni o i waypoint vengono specificati come stringhe di indirizzi, l'API Directions (Legacy) e l' API Distance Matrix (Legacy) utilizzano lo stesso backend dell'API Geocoding per geocodificare questi indirizzi prima di calcolare le indicazioni stradali. In questo modo, la latenza aumenta in modo significativo rispetto alla specifica delle stesse località come valori di latitudine e longitudine o ID luogo.

Se la tua applicazione utilizza l'API Directions (Legacy) o l'API Distance Matrix (Legacy) in una situazione sensibile alla latenza, ad esempio per rispondere all'input 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 di passare gli ID luogo all'API Directions (Legacy) o all'API Distance Matrix (Legacy). Scopri di più sul servizio Place Autocomplete per Android, iOS, JavaScript e l' API Places. Consulta anche un esempio di Place Autocomplete e indicazioni stradali in JavaScript.

Conclusione

A seconda del caso d'uso, puoi utilizzare l'API Geocoding da sola o combinarla con il servizio Place Autocomplete. In questo modo puoi creare app che offrono risultati di geocodifica accurati e una latenza ridotta.

Gestisci errori e nuovi tentativi

Se ricevi risposte UNKNOWN_ERROR, queste sono causate da errori temporanei e il modo migliore per gestirle è riprovare 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. I client Java, Python, Go e Node.js per i servizi Google Maps sono librerie client supportate dall'assistenza della community, disponibili per il download e i contributi su GitHub, dove troverai anche le istruzioni di installazione e il codice campione.

Se ricevi un codice di stato OVER_QUERY_LIMIT come risposta, significa che hai superato i limiti di utilizzo per l'API. Ti consigliamo di provare queste strategie di ottimizzazione dell'utilizzo.