Routenzusammenfassungen mit der Suche entlang der Route kombinieren

Sie können Berechnungen für Routenzusammenfassungen mit der Suche entlang einer Route kombinieren. In diesem Fall gibt die Text Search (New) in der Antwort die Reisedauer und Entfernung zu jedem Ort und dann von jedem Ort zum Zielort der Route zurück.

So verwenden Sie die Text Search (New), um die Routenzusammenfassung zusammen mit der Suche entlang einer Route zu berechnen:

  1. Verwenden Sie die Routes API, um eine Route zu berechnen, die in der Antwort eine Routenpolylinie zurückgibt.

  2. Verwenden Sie den searchAlongRouteParameters.polyline.encodedPolyline Parameter, um die Routenpolylinie 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.

  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 Routenstartpunkt zu jedem Ort in der Antwort.

Mit dem APIs Explorer können Sie Live-Anfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen:

Standardmäßig führt die 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 Orten und das Array routingSummaries mit der Dauer und 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 Array legs gibt die Text Search (New) eine Reisezeit für eine zweiteilige Strecke zurück:

  • Der erste Teil enthält die Reisedauer und Entfernung vom Startpunkt zu dem Ort. In diesem Beispiel beträgt die Dauer und Entfernung vom Startpunkt zum ersten Ort in den Ergebnissen 285 Sekunden und 1.616 Meter.

  • Der zweite Teil enthält die Reisedauer und Entfernung vom Ort zum Zielort der Route. In diesem Beispiel beträgt die Dauer und Entfernung 2.466 Sekunden und 58.147 Meter.

Startpunkt der Route, Reisemodus und Routenmodifikatoren angeben

Sie können die Suche und die Berechnung der Routenzusammenfassung ändern, indem Sie den Startpunkt der Route, den Reisemodus, Routenmodifikatoren und Routingeinstellungen angeben. Der Reisemodus und die Routenmodifikatoren funktionieren genauso wie bei der Berechnung von Routing Zusammenfassungen ohne Angabe einer Route, wie im Thema Reiseoptionen angeben beschrieben.

Standardmäßig enthält der erste Teil jedes Ergebnisses die Entfernung vom Startpunkt, der durch die Polylinie definiert wird, zu jedem Ort. Sie können diese Standardeinstellung jedoch überschreiben, indem Sie in der Anfrage explizit einen Startpunkt für die Route angeben. Wenn angegeben, enthält der erste Teil aller Antworten die Entfernungen und die Dauer vom angegebenen Startpunkt der Route, wodurch der Startpunkt aus der Polylinie überschrieben wird.

Im nächsten Beispiel geben Sie als Startpunkt der Route die Koordinaten von San Mateo, Kalifornien, an, legen fest, dass Mautgebühren vermieden werden sollen, und legen 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'

Die folgende Abbildung zeigt eine Karte mit der Routenpolylinie, dem neuen Startpunkt (hellblaue Markierung) und den Orten in den Suchergebnissen (grüne Markierungen). Alle Ergebnisse liegen entlang der Route, aber hinter San Mateo:

Suchergebnisse aus der Updatequelle.

Testen!

Mit dem APIs Explorer können Sie Beispielanfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen.

  1. Wählen Sie rechts auf der Seite das API-Symbol api aus.

  2. Optional: Bearbeiten Sie die Anfrageparameter.

  3. Wählen Sie die Schaltfläche Ausführen aus. Wählen Sie im Dialogfeld das Konto aus, mit dem Sie die Anfrage stellen möchten.

  4. Wählen Sie im Bereich „APIs Explorer“ das Symbol für den Vollbildmodus fullscreen aus, um das Fenster „APIs Explorer“ zu maximieren.