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 coordinate di latitudine e longitudine del luogo di partenza del percorso. Questo parametro è necessaria per calcolare la durata e la distanza da ogni luogo nella la risposta corretta. -
Includi
routingSummaries
nella maschera del campo in modo che la risposta includa l'arrayroutingSummaries
. Questo array contiene la durata e la distanza dall'origine di routing a ogni luogo nella risposta.
Utilizza la ricerca testuale (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": [ { "legs": [ object (Leg) ] } ] }
Ogni elemento dell'array routingSummaries
si trova nella posizione dell'array corrispondente a quella dell'array places
. In altre parole, l'elemento
routingSummaries[0]
corrisponde al luogo in places[0]
.
La lunghezza dell'array di routingSummaries
è uguale alla lunghezza dell'array di
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 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 } ] }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ] }, … ] }
Da questo esempio puoi vedere che la durata e la distanza dal percorso al primo posto nei risultati è 597 secondi e 2607 metri.
Usare 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 di routing. Ad esempio, imposti locationRestriction
sul centro di Sydney per orientare i risultati di ricerca in base a quel cerchio. ma poi si imposta
il punto di partenza delle corse alle coordinate di casa tua, il che significa che è una località diversa
all'interno del cerchio di ricerca. La richiesta differenziazione dei risultati di ricerca
cerchiata e calcola i riepiloghi di percorso in base alla posizione
di una casa.
Specificare le opzioni di viaggio
Per impostazione predefinita, i calcoli relativi a durata e distanza si riferiscono a un'auto. Tuttavia, puoi controllare il tipo di veicolo, oltre ad altre opzioni, nella ricerca.
-
Usa il parametro
routingParameters.travelMode
per impostare la modalità di trasporto perDRIVE
,BICYCLE
,WALK
oTWO_WHEELER
. Per maggiori informazioni informazioni su queste opzioni, consulta la sezione Tipi di veicoli disponibili per route. -
Utilizza la proprietà
routingParameters.routingPreference
per impostare il routing l'opzione di preferenza suTRAFFIC_UNAWARE
(valore predefinito),TRAFFIC_AWARE
oTRAFFIC_AWARE_OPTIMAL
. Ogni opzione presenta livelli diversi di qualità e latenza dei dati. Per ulteriori informazioni, consulta Specificare come e se includere il traffico i tuoi dati. -
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.
Nel prossimo esempio, specifichi la modalità di viaggio come DRIVE
e per evitare
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'