Routenzusammenfassungen mit der Suche entlang der Route kombinieren
Sie können die Berechnungen der Routenübersicht mit der Suche entlang einer Route kombinieren. In diesem Fall gibt Text Search (New) die Reisedauer und Entfernung zu jedem Ort in der Antwort und dann von jedem Ort zum endgültigen Ziel der Route zurück.
So verwenden Sie die Textsuche (New), um die Routenübersicht zusammen mit der Suche entlang einer Route zu berechnen:
-
Verwenden Sie die Routes API, um eine Route zu berechnen, die eine Routenpolylinie in der Antwort zurückgibt.
-
Verwenden Sie den Parameter
searchAlongRouteParameters.polyline.encodedPolyline, um die Polylinie der Route an die Text Search (New) zu übergeben und die Suchergebnisse auf die Route auszurichten. Die Antwort enthält dann Orte, die den Suchkriterien entsprechen und sich in der Nähe der angegebenen Route befinden. -
Fügen Sie
routingSummariesin die Feldmaske ein, damit die Antwort dasroutingSummaries-Array enthält. Dieses Array enthält die Dauer und Entfernung vom Startpunkt der Routenberechnung zu jedem Ort in der Antwort.
Mit dem APIs Explorer können Sie Liveanfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen:
Standardmäßig wird bei der Textsuche (neu) die gesamte Route berücksichtigt:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food",
"searchAlongRouteParameters": {
"polyline": {
"encodedPolyline": "ROUTE_POLYLINE"
}
}
}' \
-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 Arrays: das Array places mit den übereinstimmenden Orten und das Array routingSummaries mit der Dauer und der Entfernung zu jedem Ort:
{ "places": [ { "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA", "priceLevel": "PRICE_LEVEL_INEXPENSIVE", "displayName": { "text": "Vegan Mob - Vegan BBQ and Soul Food", "languageCode": "en" } }, { "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Enjoy Vegetarian", "languageCode": "en" } }, … ], "routingSummaries": [ { "legs": [ { "duration": "285s", "distanceMeters": 1616 }, { "duration": "2466s", "distanceMeters": 58147 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0" }, { "legs": [ { "duration": "696s", "distanceMeters": 4704 }, { "duration": "2787s", "distanceMeters": 58901 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0" }, … ] }
Für jeden Eintrag im legs-Array gibt Text Search (neu) eine zweiteilige Fahrzeit zurück:
-
Der erste Abschnitt enthält die Reisedauer und die Entfernung vom Startort zum Ort. In diesem Beispiel beträgt die Dauer und Entfernung vom Ursprung zum ersten Ort in den Ergebnissen 285 Sekunden und 1.616 Meter.
-
Der zweite Abschnitt enthält die Reisedauer und die Entfernung vom Ort zum Ziel der Route. In diesem Beispiel beträgt die Dauer 2.466 Sekunden und die Entfernung 58.147 Meter.
Routing-Startpunkt, Mobilitätsform und Routenmodifikatoren angeben
Sie können die Berechnung der Such- und Routingzusammenfassung ändern, indem Sie den Routingursprung, die Mobilitätsform, Routenmodifikatoren und Routingeinstellungen angeben. Der Mobilitätsmodus und die Routenmodifikatoren funktionieren genauso wie bei der Berechnung von Routenzusammenfassungen ohne Angabe einer Route, wie im Thema Reiseoptionen angeben beschrieben.
Standardmäßig enthält der erste Abschnitt jedes Ergebnisses die Entfernung vom Ursprung, der durch die Polylinie definiert wird, zu jedem Ort. Sie können diesen Standardwert jedoch überschreiben, indem Sie in der Anfrage explizit einen Routenursprung angeben. Falls angegeben, werden im ersten Abschnitt aller Antworten die Entfernung und Dauer vom angegebenen Routing-Ursprung angegeben. Der Ursprung aus der Polylinie wird dabei überschrieben.
Im nächsten Beispiel geben Sie als Startpunkt der Route die Koordinaten von San Mateo, Kalifornien, an, legen fest, dass Mautstraßen vermieden werden sollen, und setzen die Anzahl der Ergebnisse auf 5:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food",
"maxResultCount": 5,
"searchAlongRouteParameters": {
"polyline": {
"encodedPolyline": "ROUTE_POLYLINE"
}
},
"routingParameters": {
"origin": {
"latitude": 37.56617,
"longitude": -122.30870
},
"travelMode":"DRIVE",
"routeModifiers": {
"avoidTolls": 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'Das folgende Bild zeigt eine Karte mit der Routen-Polylinie, dem neuen Startpunkt (hellblauer Pin) und den Orten in den Suchergebnissen (grüne Pins). Beachten Sie, dass alle Ergebnisse entlang der Route, aber hinter San Mateo liegen:
Testen!
Mit dem APIs Explorer können Sie Beispielanfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen.
Wählen Sie rechts auf der Seite das API-Symbol api aus.
Bearbeiten Sie optional die Anfrageparameter.
Wählen Sie den Button Ausführen aus. Wählen Sie im Dialogfeld das Konto aus, mit dem Sie die Anfrage stellen möchten.
Wählen Sie im Bereich „APIs Explorer“ das Vollbildsymbol fullscreen aus, um das APIs Explorer-Fenster zu maximieren.