Zusammenfassung des Routings berechnen
So berechnen Sie mit Text Search (New) oder Nearby Search (New) die Fahrtdauer und Entfernung zu jedem Ort in der Antwort:
-
Übergeben Sie den Parameter
routingParameters.origin
in der Anfrage, um die Breiten- und Längengrad des Ausgangspunkts der Route. Dieser Parameter ist erforderlich, um die Dauer und Entfernung zu jedem Ort in der Antwort zu berechnen. -
Fügen Sie
routingSummaries
in die Feldmaske ein, damit die Antwort Folgendes enthält: Das ArrayroutingSummaries
. Dieses Array enthält die Dauer und Entfernung vom Startpunkt der Route bis zu jedem Ort in der Antwort.
Text Search (New) verwenden
In der folgenden Anfrage berechnen Sie die Reisedauer und Entfernung zu den einzelnen in die „Text Search (New)“-Antwort einfügen:
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'
Die Antwort enthält zwei JSON-Arrays: Das Array places
enthält die übereinstimmenden
Places und das routingSummaries
-Array mit der Dauer und Entfernung
zu jedem Ort reisen:
{ "places": [ { object (Place) } ] "routingSummaries": [ { "legs": [ object (Leg) ] } ] }
Jedes Element im routingSummaries
-Array befindet sich im entsprechenden Array.
location als Ort im places
-Array. Das heißt, das Element bei
routingSummaries[0]
entspricht dem Ort unter places[0]
.
Die Array-Länge von routingSummaries
entspricht der Array-Länge von
places
. Wenn routingSummary
für einen Ort nicht verfügbar ist, ist der Arrayeintrag leer.
Da in diesem Beispiel die Dauer und Entfernung von der Route berechnet wird,
Ursprung jedes Ortes hat, enthält das Feld legs
in der Antwort ein einzelnes Leg
-Element,
Objekt, das die duration
und distanceMeters
des Routingursprungs enthält
zum Ort:
{ "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 } ] }, … ] }
In diesem Beispiel sehen Sie, dass die Dauer und Entfernung vom Startpunkt der Route zum ersten Ort in den Ergebnissen 597 Sekunden und 2.607 Meter beträgt.
Nearby Search verwenden
In diesem Beispiel berechnen Sie die Fahrtdauer und Entfernung zu jedem Ort in der Antwort der Nearby Search. In diesem Beispiel wird nach Restaurants in Sydney, Australien, gesucht. Die Standortbeschränkung und der Startpunkt der Route werden auf dieselben Breiten- und Längengradkoordinaten festgelegt:
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
Sie müssen nicht dieselben Koordinaten für locationRestriction
und den
für den Routenausgangspunkt. Sie legen beispielsweise den locationRestriction
auf den Mittelpunkt von Sydney fest, um die Suchergebnisse auf diesen Kreis auszurichten. Dann legen Sie den Wert
Routenweg zu den Koordinaten Ihres Hauses, d. h. zu einem anderen Ort
im Suchkreis angezeigt. Die Anfrage gewichtet die Suchergebnisse dann
und berechnet die Routenzusammenfassungen basierend auf dem Standort Ihres
.
Mobilitätsoptionen angeben
Standardmäßig werden Dauer und Entfernung für ein Auto berechnet. Sie können jedoch den Fahrzeugtyp und andere Optionen in der Suche festlegen.
-
Verwenden Sie den Parameter
routingParameters.travelMode
, um den Modus Verkehrsmittel nachDRIVE
,BICYCLE
,WALK
oderTWO_WHEELER
Weitere Informationen zu diesen Optionen finden Sie unter Verfügbare Fahrzeugtypen für Routen. -
Mit dem Attribut
routingParameters.routingPreference
die Weiterleitung festlegen Einstellungsoption aufTRAFFIC_UNAWARE
(Standardeinstellung),TRAFFIC_AWARE
oderTRAFFIC_AWARE_OPTIMAL
. Jede Option hat ein unterschiedliches Maß an Datenqualität und Latenz. Weitere Informationen finden Sie unter Festlegen, wie und ob Besucherdaten einbezogen werden sollen. -
Mit dem Attribut
routingParameters.routeModifiers
geben Sie Folgendes an:avoidTolls
,avoidHighways
,avoidFerries
undavoidIndoor
. Weitere Informationen zu diesen Optionen finden Sie unter Routenelemente angeben, die vermieden werden sollen.
Im nächsten Beispiel geben Sie die Mobilitätsform als DRIVE
an und vermeiden
Autobahnen:
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'