Per calcolare un percorso, devi specificare almeno le relative posizioni origine e destinazione della route. Puoi definire queste località come waypoint sulla percorso.
Oltre a luogo di partenza e destinazione, puoi specificare diversi tipi di le tappe di un percorso e la relativa gestione. Per ulteriori informazioni e esempi, consulta questi argomenti:
- Specificare l'orientamento e il lato della strada del veicolo
- Specificare le tappe intermedie
- Impostare una fermata lungo un percorso
- Impostare un punto per il passaggio di un percorso
- Ottimizzare l'ordine delle fermate sul percorso
Specificare le posizioni di un percorso
Per rappresentare una località, crea un Waypoint (REST). o Waypoint (gRPC). Nella definizione di waypoint, puoi specificare una località in uno dei seguenti modi:
- ID luogo (preferito)
- Coordinate di latitudine/longitudine
- Stringa indirizzo ("Chicago, IL" o "Darwin, NT, Australia")
- Plus Code
Puoi specificare le posizioni di tutte le tappe nello stesso modo, oppure puoi mescolarli. Ad esempio, puoi utilizzare le coordinate di latitudine/longitudine per la tappa di partenza e utilizza un ID luogo per la tappa di destinazione.
Per maggiore efficienza e precisione, utilizza gli ID luogo anziché latitudine/longitudine coordinate o stringhe di indirizzi. Gli ID luogo sono univoci in modo univoco e forniscono vantaggi di geocodifica per i percorsi, ad esempio punti di accesso e variabili di traffico. Loro evita le seguenti situazioni che possono derivare da altri modi di per specificare una posizione:
- L'utilizzo delle coordinate di latitudine/longitudine può far sì che la località sia agganciato alla strada più vicina a tali coordinate, che potrebbe non essere punto di accesso alla proprietà o persino a una strada che in modo rapido o sicuro porta alla destinazione.
- Le stringhe di indirizzi devono prima essere geocodificate dall'API Routes per essere convertite alle coordinate di latitudine/longitudine prima di poter calcolare un percorso. Questa conversione può influire sul rendimento.
Specifica una località come ID luogo
Puoi utilizzare un ID luogo per specificare la posizione di una tappa. Poiché le coordinate di latitudine e longitudine sono agganciate alle strade, potresti trovare l'ID luogo offre risultati migliori in alcune circostanze.
Recupera gli ID luogo dall'API Geocoding e L'API Places (incluso Place completamento automatico). Per ulteriori informazioni sugli ID luogo, consulta Panoramica dell'ID luogo.
L'esempio seguente utilizza la proprietà placeId
per trasmettere un ID luogo per entrambi
origin
e destination
:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
Specifica una località come coordinate di latitudine e longitudine
Per definire la posizione in una tappa, specifica la Posizione (REST) o Location(gRPC) mediante l'utilizzo coordinate di latitudine/longitudine.
Ad esempio, specifica una tappa per il percorso origin
e destination
utilizzando le coordinate latitude
e longitude
:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, ... }
Specifica una località come stringa di indirizzo
Le stringhe di indirizzi sono indirizzi letterali rappresentati da una stringa (ad esempio "1600 Amphitheatre Parkway, Mountain View, CA"). La geocodifica è il processo di Convertire una stringa indirizzo in coordinate di latitudine e longitudine (ad esempio latitudine 37.423021 e longitudine -122.083739).
Quando passi una stringa indirizzo come posizione di una tappa, l'API Routes geocodifica internamente la stringa per convertirla in latitudine e longitudine coordinate.
Ad esempio, per calcolare un percorso devi specificare una tappa per il percorso origin
e
destination
utilizzando le stringhe di indirizzi:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
In questo esempio, l'API Routes geocodifica entrambi gli indirizzi per convertirli in coordinate di latitudine e longitudine.
Se il valore dell'indirizzo è ambiguo, l'API Routes potrebbe richiamare una ricerca su distinguerli da indirizzi simili. Ad esempio, "Via Roma" potrebbe essere un un valore completo o un valore parziale per "1st street NE" o "1st St SE". Questo potrebbe essere diverso da quello restituito dall'API Geocoding. Puoi evitare possibili interpretazioni errate utilizzando gli ID luogo.
Imposta la regione per l'indirizzo
Se passi una stringa di indirizzo incompleta come posizione di una tappa, l'API potrebbero utilizzare coordinate di latitudine/longitudine geocodificate errate. Ad esempio: fai una richiesta specificando "Toledo" come origine e "Madrid" come il destinazione di un percorso in auto:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
In questo esempio, "Toledo" viene interpretata come una città nello stato Ohio negli Stati Uniti, non in Spagna. Di conseguenza, la richiesta restituisce un array vuoto, il che significa che non esistono route:
{ [] }
Puoi configurare l'API in modo che restituisca risultati differenziati per una particolare regione
incluso il parametro regionCode
. Questo parametro specifica il codice regione come
ccTLD ("dominio di primo livello")
a due caratteri. La maggior parte dei codici ccTLD è identica ai codici ISO 3166-1, con
alcune degne di nota. Ad esempio, il ccTLD del Regno Unito è "uk".
(.co.uk) mentre il codice ISO 3166-1 è "gb" (tecnicamente per l'entità "The
Regno Unito di Gran Bretagna e Irlanda del Nord").
Una richiesta di indicazioni stradali per "Toledo" a "Madrid" che include regionCode
restituisce risultati appropriati in quanto "Toledo" viene interpretata come un
città in Spagna:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
La risposta ora contiene il percorso calcolato da Toledo, Spagna a Madrid, Spagna:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
Specifica una posizione come Plus Code
Molte persone non hanno un indirizzo preciso e questo può rendere difficile per ricevere le consegne. In alternativa, chi dispone di un indirizzo potrebbe preferire consegne in luoghi più specifici, ad esempio un ingresso sul retro o un dock.
I Plus Code sono come gli indirizzi di persone o luoghi che non dispongono di un all'indirizzo effettivo. Al posto degli indirizzi con i nomi delle vie e i numeri, i Plus Code si basano sulle coordinate di latitudine/longitudine e vengono visualizzati come numeri e lettere.
Google ha sviluppato i Plus Code per garantire il vantaggio degli indirizzi a tutti e a tutti. Un Plus Code è un codice codificato il riferimento della località, ricavato dalle coordinate di latitudine/longitudine, rappresenta un'area: 1/8000 di grado per 1/8000 di grado (circa 14 m x 14 m all'equatore) o inferiore. Puoi usare i Plus Code in sostituzione di Indirizzi stradali in luoghi in cui non sono presenti o in cui non sono presenti edifici numerati o le vie non hanno nomi.
I Plus Code devono essere formattati come codice globale o codice composto:
- Un codice globale è composto da un prefisso di 4 caratteri e da 6
o più codice locale.
Ad esempio, per l'indirizzo "1600 Amphitheatre Parkway, Mountain View, CA", il codice globale è "849V" e il codice locale è "CWC8+R9". Devi quindi utilizzare l'intero Plus Code di 10 caratteri per specificare valore di località come "849VCWC8+R9".
- Un codice composto è composto da almeno 6 caratteri
codice locale combinato con una località esplicita.
Ad esempio, l'indirizzo "450 Serra Mall, Stanford, CA 94305, USA" ha un codice locale "CRHJ+C3". Per un composto l'indirizzo, combina il codice locale con la città, lo stato, il CAP e il paese dell'indirizzo nel formato "CRHJ+C3 Stanford, CA 94305, USA".
Ad esempio, calcola un percorso specificando una tappa per il percorso
origin
. edestination
utilizzando i Plus Code:{ "origin":{ "address": "849VCWC8+R9" }, "destination":{ "address": "CRHJ+C3 Stanford, CA 94305, USA" }, "travelMode": "DRIVE" }
I Plus Code sono supportati nelle API di Google Maps Platform, tra cui place Autocomplete, Place Details (Dettagli luogo) API Directions e API Geocoding. Ad esempio, puoi utilizzare l'API Geocoding per invertire la geocodifica di località specificata da coordinate di latitudine/longitudine per determinare il il Plus Code della posizione.