Zusammenfassung der Routenberechnung

So berechnen Sie mit Text Search (New) oder Nearby Search (New) die Fahrtdauer und Entfernung zu jedem Ort in der Antwort:

  1. Übergeben Sie den Parameter routingParameters.origin in der Anfrage, um die Breiten- und Längengradkoordinaten des Routenursprungs anzugeben. Dieser Parameter ist erforderlich, um die Dauer und Entfernung zu jedem Ort in der Antwort zu berechnen.

  2. 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 Routing-Ursprung 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:

In der folgenden Anfrage berechnen Sie die Reisezeit und ‑entfernung zu jedem Ort in der Antwort von Text Search (New):

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 enthält die Dauer und Entfernung für die Anreise zu den einzelnen Orten:

{
  "places": [
    {
      object (Place)
    }
  ]
  "routingSummaries": [
    {
      object (RoutingSummary)
    }
}

Jedes Element im routingSummaries-Array befindet sich an der entsprechenden Arrayposition wie der Ort im places-Array. Das Element bei routingSummaries[0] entspricht also dem Ort bei places[0].

Die Arraylänge von routingSummaries entspricht der Arraylänge von places. Wenn die routingSummary für einen Ort nicht verfügbar ist, ist der Array-Eintrag leer.

Da in diesem Beispiel die Dauer und Entfernung vom Routing-Startpunkt zu jedem Ort berechnet werden, enthält das Feld routingSummaries.legs in der Antwort ein einzelnes Leg-Objekt mit den duration- und distanceMeters-Werten vom Routing-Startpunkt 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"
    },
   
  ]
}

An diesem Beispiel können Sie sehen, dass die Dauer und Entfernung vom Ausgangspunkt der Route bis zum ersten Platz in den Ergebnissen 597 Sekunden bzw. 2607 Meter beträgt.

In diesem Beispiel berechnen Sie die Reisedauer und die Entfernung zu jedem Ort in der Antwort der Suche in der Nähe. In diesem Beispiel wird nach Restaurants in Sydney, Australien, gesucht und die Standortbeschränkung und der Routenursprung 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 die gleichen Koordinaten für locationRestriction und den Routing-Ursprung verwenden. Beispielsweise können Sie locationRestriction auf den Mittelpunkt von Sydney setzen, um die Suchergebnisse auf diesen Kreis zu fokussieren. Sie legen dann aber den Routing-Ursprung auf die Koordinaten Ihres Hauses fest, also auf einen anderen Ort innerhalb des Suchkreises. Die Anfrage lenkt die Suchergebnisse dann auf den Kreis und berechnet die Routenübersichten basierend auf dem Standort Ihres Hauses.

Reiseoptionen angeben

Standardmäßig werden Dauer und Entfernung für ein Auto berechnet. Sie können jedoch den Fahrzeugtyp sowie weitere Optionen in der Suche steuern.

  • Mit dem Parameter routingParameters.travelMode kann die Transportart auf DRIVE, BICYCLE, WALK oder TWO_WHEELER eingestellt werden. Weitere Informationen zu diesen Optionen finden Sie unter Verfügbare Fahrzeugtypen für Routen.

  • Mit dem Attribut routingParameters.routingPreference können Sie die Routingeinstellung auf TRAFFIC_UNAWARE (Standard), TRAFFIC_AWARE oder TRAFFIC_AWARE_OPTIMAL festlegen. Jede Option hat unterschiedliche Datenqualitäts- und Latenzwerte. Weitere Informationen finden Sie unter Trafficdaten einbeziehen.

    Die routingParameters.routingPreference-Eigenschaft wirkt sich auf die Wegbeschreibungen im Feld directionsUri (Vorabversion) aus, da in Google Maps Verkehrsoptionen angezeigt werden, wenn der Link geöffnet wird.

  • Verwenden Sie das Attribut routingParameters.routeModifiers, um avoidTolls, avoidHighways, avoidFerries und avoidIndoor anzugeben. Weitere Informationen zu diesen Optionen finden Sie unter Zu vermeidende Routenmerkmale angeben.

Im nächsten Beispiel geben Sie den Fahrmodus als DRIVE an und legen fest, 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'

Testen!

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

  1. Klicken Sie rechts auf der Seite auf das API-Symbol api.

  2. Bearbeiten Sie optional die Anfrageparameter.

  3. Klicken Sie auf die Schaltfläche Ausführen. Wählen Sie im Dialogfeld das Konto aus, das Sie für die Anfrage verwenden möchten.

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