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

Avrupa Ekonomik Alanı (AEA) geliştiricileri

Varsayılan olarak, ara yol noktaları teslim alma ve bırakma için durmak üzere kullanılır. Ancak ara yol noktasının yalnızca geçiş için kullanılacağını da belirtebilirsiniz.

Başlangıç noktası, geçiş noktası ve hedef noktası içeren bir rota, başlangıç noktası ile hedef noktayı bağlayan ve geçiş noktasından (via olarak adlandırılır) geçen tek bir rota ayağı içerir.

Waypoint (REST) veya Waypoint (gRPC) kullanarak ara yol noktasının via özelliğini true olarak ayarlayarak ara yol noktasını geçiş yol noktası olacak şekilde yapılandırın.

via özelliği, kullanıcının haritadaki yol noktalarını sürüklemesine yanıt olarak rota oluştururken en etkili şekilde kullanılır. Bu sayede kullanıcı, son rotanın gerçek zamanlı olarak nasıl görünebileceğini görebilir ve ara noktaların, rotaları hesaplama hizmetinin erişebileceği konumlara yerleştirilmesini sağlayabilir.

Aşağıdaki örnekte, ara bir yol noktasının nasıl geçiş yol noktası olarak işaretleneceği gösterilmektedir.

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

Ara durakların yer kimliklerine erişme

Başlangıç, hedef veya ara yol noktasının konumunu adres dizesi ya da Plus Code olarak belirtirseniz API, ilgili yer kimliğine sahip en alakalı konumu bulmaya çalışır. Sonuçlardaki geocodingResults.intermediates dizisi, ara noktaların konumuna karşılık gelen yer kimliğinin yanı sıra konumla ilgili ek verileri içerir.

intermediates dizisinin her öğesi için, isteğin hangi ara yol noktasının yanıttaki yer kimliğine karşılık geldiğini belirlemek üzere intermediateWaypointRequestIndex özelliğini kullanın.

Örneğin:

  • Bir istekte üç ara geçiş noktası belirtirsiniz. Bu ara noktaların ikisi adres dizeleriyle, biri ise enlem/boylam koordinatlarıyla belirtilir.

  • Sonuçlarda geocodingResults dizisinin döndürülmesini belirtmek için yanıt alan maskesine geocodingResults ekleyin.

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ıtta, başlangıç, hedef ve üç ara noktanın ikisinin yer kimliğini içeren geocodingResults dizisi yer alıyor. Bunlar, isteğin 0 ve 2. dizinindeki yol noktalarıdır. İsteğin 1. dizinindeki ara nokta, enlem/boylam koordinatları kullanılarak belirtildiği için 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"
      }
    ]
  }
}