Zusammenfassungen von Routen mit „Entlang der Route suchen“ kombinieren

Sie können Berechnungen der Zusammenfassung der Route mit der Suche entlang einer Route kombinieren. In diesem Fall gibt „Text Search (New)“ die Reisedauer und Entfernung und dann von jedem Ort bis zum endgültigen Ziel des Route.

So berechnen Sie mit der Funktion „Text Search (New)“ die Routenübersicht und suchen entlang einer Route:

  1. Routes API verwenden, um eine Route zu berechnen, bei der eine Routenpolygone zurückgegeben wird in der Antwort angeben.

  2. Verwenden Sie den Parameter searchAlongRouteParameters.polyline.encodedPolyline, um die Polylinie der Route an „Text Search (New)“ übergeben, um die Suchergebnisse die Route berechnen. Die Antwort enthält dann Orte, die den Suchkriterien entsprechen und sich auch in der Nähe der angegebenen Route befinden.

  3. Fügen Sie routingSummaries in die Feldmaske ein, damit die Antwort das routingSummaries-Array enthält. Dieses Array enthält die Dauer und Entfernung vom Startpunkt der Route bis zu jedem Ort in der Antwort.

Standardmäßig führt „Text Search (New)“ die Suche entlang der gesamten Route aus:

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 Places und das routingSummaries-Array mit der Dauer und Entfernung zu jedem Ort reisen:

{
  "places": [
    {
      "formattedAddress": "1477 Plymouth St suite c, Mountain View, CA 94043, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "2464 W El Camino Real C, Mountain View, CA 94040, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Veggie Garden",
        "languageCode": "en"
      }
    },
   …
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ]
    },
   …
  ]
}

Für jeden Eintrag im Array legs gibt die Textsuche (neu) die Fahrtzeit für eine Fahrt mit zwei Abschnitten zurück:

  • Der erste Abschnitt enthält die Reisedauer und die Entfernung vom Startort zum Ziel. In diesem Beispiel sind die Dauer und Entfernung vom Start- den ersten Platz in den Ergebnissen bei 285 Sekunden und 1.616 Metern.

  • Der zweite Abschnitt enthält die Reisedauer und Entfernung von das Routenziel. In diesem Beispiel sind Dauer und Entfernung 2466 Sekunden und 58.147 Meter.

Ausgangspunkt der Route, Mobilitätsform und Routenmodifikatoren angeben

Sie können die Berechnung der Such- und Routenzusammenfassung ändern, indem Sie den Startpunkt, die Mobilitätsform, die Routenmodifikatoren und die Routeneinstellungen angeben. Die Mobilitätsformen und Routenmodifikatoren funktionieren wie bei der Berechnung von Routen. Zusammenfassungen ohne Angabe einer Route, wie in Reisedaten angeben Optionen.

Standardmäßig enthält der erste Abschnitt jedes Ergebnisses die Entfernung vom Startort. die durch die Polylinie definiert sind. Sie können diese Standardeinstellung jedoch überschreiben, indem Sie in der Anfrage einen Routing-Ursprung angeben. Falls angegeben, werden im ersten Abschnitt aller Antworten die Entfernungen und die Dauer vom angegebenen Startpunkt der Route angegeben, wodurch der Startpunkt aus der Polylinie überschrieben wird.

Im nächsten Beispiel geben Sie einen Routenursprung als Koordinaten von San an Mateo, Kalifornien, geben Sie an, um Mautgebühren zu vermeiden, und legen Sie die Anzahl der Ergebnisse auf 5 fest:

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 Routenpolylinie, dem neuen Startpunkt (hellblaue Markierung) und den Orten in den Suchergebnissen (grüne Markierungen). Wie Sie sehen, liegen alle Ergebnisse entlang der Route, aber nach San Mateo:

Suchergebnisse aus der Quelle des Updates.