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:
-
Geben Sie den Parameter
routingParameters.origin
in der Anfrage an, um die Breiten- und Längengradkoordinaten des Startpunkts der Route anzugeben. 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 dasroutingSummaries
-Array enthält. Dieses Array enthält die Dauer und Entfernung vom Startpunkt der Route bis zu jedem Ort in der Antwort.
Mit dem API Explorer können Sie Liveanfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen:
Testen!Text Search (New) verwenden
In der folgenden Anfrage wird die Fahrtdauer und die Entfernung zu jedem Ort in der Antwort von „Text Search (New)“ berechnet:
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 places
-Array enthält die übereinstimmenden Orte und das routingSummaries
-Array die Dauer und Entfernung zu jedem Ort:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Jedes Element im Array routingSummaries
hat dieselbe Arrayposition wie die Position im Array places
. Das Element bei routingSummaries[0]
entspricht also dem Ort bei places[0]
.
Die Arraylänge von routingSummaries
ist gleich der Arraylä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 vom Startpunkt des Routings bis zu jedem Ort berechnet wird, enthält das routingSummaries.legs
-Feld in der Antwort ein einzelnes Leg
-Objekt mit den duration
- und distanceMeters
-Werten vom Startpunkt des Routings bis 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 } ], "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" }, … ] }
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 die 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 Startpunkt für die Routenberechnung verwenden. Sie legen beispielsweise den locationRestriction
auf den Mittelpunkt von Sydney fest, um die Suchergebnisse auf diesen Kreis auszurichten. Sie legen jedoch den Startpunkt der Routenführung auf die Koordinaten Ihres Hauses fest, also auf einen anderen Ort innerhalb des Suchkreises. Die Suchergebnisse werden dann auf den Kreis ausgerichtet und die Routenzusammenfassungen werden basierend auf dem Standort Ihres Zuhauses berechnet.
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 Transportmodus aufDRIVE
,BICYCLE
,WALK
oderTWO_WHEELER
festzulegen. Weitere Informationen zu diesen Optionen finden Sie unter Verfügbare Fahrzeugtypen für Routen. -
Verwenden Sie das Attribut
routingParameters.routingPreference
, um die Routingeinstellung aufTRAFFIC_UNAWARE
(Standard),TRAFFIC_AWARE
oderTRAFFIC_AWARE_OPTIMAL
festzulegen. Jede Option hat unterschiedliche Datenqualität und Latenz. Weitere Informationen finden Sie unter Festlegen, wie und ob Besucherdaten einbezogen werden sollen.Die Property
routingParameters.routingPreference
wirkt sich auf die Wegbeschreibungen im Feld „Vorabversion (Pre-GA)“directionsUri
aus, da Google Maps Verkehrsoptionen anzeigt, wenn der Link geöffnet wird. -
Verwenden Sie das Attribut
routingParameters.routeModifiers
, umavoidTolls
,avoidHighways
,avoidFerries
undavoidIndoor
anzugeben. Weitere Informationen zu diesen Optionen finden Sie unter Routenelemente angeben, die vermieden werden sollen.
Im folgenden Beispiel geben Sie den Verkehrsmitteltyp als DRIVE
und an, dass Autobahnen vermieden werden sollen:
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'