Calcolare il riepilogo del calcolo del percorso
Per utilizzare la ricerca di testo (novità) o la ricerca nelle vicinanze (novità) per calcolare la durata del viaggio e la distanza da ciascun luogo nella risposta:
-
Passa il parametro
routingParameters.origin
nella richiesta per specificare le coordinate di latitudine e longitudine dell'origine del percorso. Questo parametro è obbligatorio per calcolare la durata e la distanza di ogni luogo nella risposta. -
Includi
routingSummaries
nella maschera di campo in modo che la risposta includa l'arrayroutingSummaries
. Questo array contiene la durata e la distanza dall'origine del percorso a ogni luogo nella risposta.
Utilizzare la ricerca di testo (novità)
Nella richiesta seguente, calcoli la durata del viaggio e la distanza da ogni luogo nella risposta della ricerca di testo (nuova):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
La risposta contiene due array JSON: l'array places
contiene i luoghi corrispondenti e l'array routingSummaries
contiene la durata e la distanza da percorrere per raggiungere ogni luogo:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Ogni elemento dell'array routingSummaries
si trova nella posizione dell'array corrispondente a quella dell'array places
. In altre parole, l'elemento in routingSummaries[0]
corrisponde al luogo in places[0]
.
La lunghezza dell'array routingSummaries
è uguale alla lunghezza dell'array
places
. Se routingSummary
per un luogo non è disponibile,
la voce dell'array è vuota.
Poiché questo esempio calcola la durata e la distanza dall'origine del percorso a ogni luogo, il campo routingSummaries.legs
nella risposta contiene un singolo oggetto Leg
che contiene duration
e distanceMeters
dall'origine del percorso al luogo.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Da questo esempio, puoi vedere che la durata e la distanza dall'origine del percorso al primo luogo nei risultati sono 597 secondi e 2607 metri.
Utilizzare la ricerca nelle vicinanze
In questo esempio, calcoli la durata del viaggio e la distanza da ogni luogo nella risposta della Ricerca nelle vicinanze. Questo esempio cerca ristoranti a Sydney, Australia e imposta la limitazione della località e l'origine del percorso sulle stesse coordinate di latitudine e longitudine:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
Non è necessario utilizzare le stesse coordinate per locationRestriction
e per l'origine del routing. Ad esempio, imposti locationRestriction
sul centro di Sydney per orientare i risultati di ricerca in base a quel cerchio. Tuttavia, imposti l'origine del percorso sulle coordinate della tua casa, ovvero su una posizione diversa all'interno del cerchio di ricerca. La richiesta quindi orienta i risultati di ricerca verso il cerchio e calcola i riepiloghi dei percorsi in base alla posizione della tua casa.
Specificare le opzioni di viaggio
Per impostazione predefinita, i calcoli di durata e distanza si riferiscono a un'auto. Tuttavia, puoi controllare il tipo di veicolo, oltre ad altre opzioni, nella ricerca.
-
Utilizza il parametro
routingParameters.travelMode
per impostare la modalità di trasporto suDRIVE
,BICYCLE
,WALK
oTWO_WHEELER
. Per ulteriori informazioni su queste opzioni, consulta la sezione Tipi di veicoli disponibili per le route. -
Utilizza la proprietà
routingParameters.routingPreference
per impostare l'opzione di preferenza di routing suTRAFFIC_UNAWARE
(predefinito),TRAFFIC_AWARE
oTRAFFIC_AWARE_OPTIMAL
. Ogni opzione presenta livelli diversi di qualità e latenza dei dati. Per saperne di più, consulta Specificare come e se includere i dati sul traffico.La proprietà
routingParameters.routingPreference
influisce sulle indicazioni stradali contenute nel campodirectionsUri
Anteprima (pre-GA) perché Google Maps mostra le opzioni di traffico quando apre il link. -
Utilizza la proprietà
routingParameters.routeModifiers
per specificareavoidTolls
,avoidHighways
,avoidFerries
eavoidIndoor
. Per ulteriori informazioni su queste opzioni, consulta la sezione Specificare elementi del percorso da evitare.
Nell'esempio seguente, specifichi la modalità di viaggio come DRIVE
e di evitare le autostrade:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'