Rotanın geçtiği bir noktayı ayarlayın

Varsayılan olarak, teslim almalar için durdurmada ara ara noktalar kullanılır ve görebilirsiniz. Ayrıca, ara noktanın yalnızca tek bir ara hedefin göz önünde bulundurun.

Bir kalkış referans noktası ve geçiş ara noktası içeren bir rota bir hedef ara noktasının, müşterinin başlangıç noktası ile varış noktasını bağlarken (via) ara nokta olarak adlandırılır.

Bir ara ara noktayı, geçiş noktası olacak şekilde ikisinden birini kullanarak referans noktasının via özelliğini true olarak ayarlamak Ara nokta (REST) veya Ara nokta (gRPC).

via özelliği en çok, şunlara yanıt olarak rota oluştururken etkilidir: kullanıcının harita üzerinde ara noktaları sürüklemesidir. Böylece kullanıcılar son rota gerçek zamanlı olarak görünebilir ve ara noktaların yerleştirilmesine yardımcı olur ve Compute Rotaları tarafından erişilebilen konumlarda bulunmalıdır.

Aşağıdaki örnekte, ara bir referans noktasının bir geçiş ara noktası belirtin.

{
  "location": {
    "latLng": {
      "latitude":37.419734,
      "longitude":-122.0827784
    }
  },
  "via": true
}

Ara ara noktalar için yer kimliklerine erişme

Bir kalkış noktası, hedef veya ara ara noktanın konumunu belirtirseniz adres dizesi veya Artı kodu olarak kullanıldığında API, karşılık gelen yer kimliğine sahip en alakalı konum. İlgili içeriği oluşturmak için kullanılan geocodingResults.intermediates dizisinde, URL'nin konumuna karşılık gelen yer kimliğini konumla ilgili ek verilerle birlikte ara noktaları göstermektir.

intermediates dizisinin her bir öğesi için şunu kullanın: Hangi ara öğeyi belirlemek için intermediateWaypointRequestIndex özelliği istekteki ara nokta, yanıttaki yer kimliğine karşılık gelir.

Örneğin:

  • Bir istekte üç ara ara nokta belirtirsiniz. Bunlardan ikisi ara noktalar adres dizeleriyle ve bir tane de enlem/boylam ile belirtilir koordinatlar.

  • Aşağıdakileri belirtmek için yanıt alanı maskesine geocodingResults eklersiniz: sonuçlarda geocodingResults dizisini döndürür.

curl -X POST -d '{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "24 Willie Mays Plaza, San Francisco, CA 94107"
  },
  "intermediates": [
    {
      "address": "450 Serra Mall, Stanford, CA 94305, USA"
    },
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    },
    {
      "address": "1836 El Camino Real, Redwood City, CA 94063"
    }
  ],
  "travelMode": "DRIVE",
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Yanıt, şunun yer kimliğini içeren geocodingResults dizisini içerir: kalkış noktası, varış noktası ve üç ara noktanın ikisi için. Bunlar, istek dizini 0 ve 2'deki ara noktaları içerir. Çünkü istek enlem/boylam koordinatları kullanılarak belirtilirse yanıttaki geocodingResults dizisinden çıkarıldı.

{
  "routes": [{...}],
  "geocodingResults": {
    "origin": {
      "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g"
    },
    "destination": {
     "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY"
    },
    "intermediates": [
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 0,
        "type": [
            "street_address"
        ],
        "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y"
      },
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 2,
        "type": [
          "premise"
        ],
        "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0"
      }
    ]
  }
}