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 Startort 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:

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 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 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"
    },
   
  ]
}

In diesem Beispiel sehen Sie, dass die Dauer und Entfernung vom Routing-Ursprung zum ersten Ort in den Ergebnissen 597 Sekunden und 2.607 Meter betragen.

In diesem Beispiel berechnen Sie die Fahrtdauer und Entfernung zu jedem Ort in der Antwort auf die Nearby Search-Anfrage. In diesem Beispiel wird nach Restaurants in Sydney, Australien, gesucht und die Standortbeschränkung und der Routenursprung 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 Routenursprung verwenden. Sie legen beispielsweise locationRestriction auf den Mittelpunkt von Sydney fest, um die Suchergebnisse auf diesen Kreis zu beschränken. Sie legen den Routenursprung jedoch 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 auf Grundlage des Standorts Ihres Hauses berechnet.

Reiseoptionen angeben

Standardmäßig werden die Berechnungen für Dauer und Entfernung für ein Auto durchgeführt. Sie können jedoch den Fahrzeugtyp sowie andere Optionen in der Suche festlegen.

  • Mit dem Parameter routingParameters.travelMode können Sie das Transportmittel auf DRIVE, BICYCLE, WALK oder TWO_WHEELER festlegen. 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 „Vorschau“ (Pre-GA) directionsUri 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. Wählen Sie rechts auf der Seite das API-Symbol api aus.

  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.