Daha kısa mesafeli bir rota alın

Routes API, daha kısa mesafe rotalarını etkinleştirdiğinizde daha kısa seyahat mesafesi için optimize edilmiş sürüş rotaları döndürebilir.

Daha kısa mesafeli bir rota istediğinizde hizmet aşağıdakileri döndürür:

  • Varsayılan rota, öncelikle ETA için optimize edilmiş bir rotadır.
  • Seyahatin tamamında seyahat mesafesini en aza indirmek için optimize edilmiş daha kısa bir rota.

Nedir ve neden kullanılır?

Daha kısa mesafeli rotalarda, sürüş konforu veya hız yerine mesafeye öncelik verilir. Örneğin, otoyollar yerine yerel yolları tercih edebilir, toprak yollardan geçebilir veya otoparklardan kısa yoldan geçebilir. Google Haritalar'ın yasa dışı olduğunu bildiği hiçbir manevrayı döndürmez.

Daha kısa mesafeli bir rota isteğinde bulunma

Talebiniz aşağıdaki ölçütleri karşılamalıdır:

  • travelMode değerini DRIVE, BICYCLE veya TWO_WHEELER olarak ayarlayın.
  • requestedReferenceRoutes değerini SHORTER_DISTANCE olarak ayarlayın.
  • Daha kısa mesafeli bir rotayla ilişkili yanıt özelliklerini döndürmek için bir yanıt alanı maskesi ayarlayın:
    • routes.routeLabels: Her bir rotayı DEFAULT_ROUTE, SHORTER_DISTANCE veya DEFAULT_ROUTE_ALTERNATE olarak tanımlar.
    • routes.routeToken: Özel bir rota almak için Navigation SDK'sına iletebileceğiniz rota jetonu.
  • Via ara yol işaretlerini dahil etmeyin.
  • optimizeWaypointOrder parametresini eklemeyin.
  • İsteğe bağlı: Hem varsayılan hem de daha kısa mesafeli rotayla ilişkili aşağıdaki özellikleri döndürmek için bir yanıt alanı maskesi ayarlayın:
    • routes.distanceMeters: Rotanın mesafesini döndürür.
    • routes.duration: Rotanın süresini döndürür.

Referans bilgileri için ReferenceRoute ve RouteLabel'e bakın.

Örnek istek: Daha kısa mesafeli rota

Aşağıdaki kodda, daha kısa mesafeli bir rota isteğinde bulunulmaktadır. Bu örnekte, yanıt alan maskesini kullanarak hem varsayılan hem de daha kısa mesafeli rotayla ilişkili alanları aşağıdaki alan maskeleriyle döndürürsünüz:

  • routes.distanceMeters
  • routes.duration
curl -X POST -H 'content-type: application/json' -d '{
  "origin": {
    "location": {
      "latLng": {
        "latitude": 41.76904801292959,
        "longitude": -72.67374935684933
      }
    }
  },
  "destination": {
    "location": {
      "latLng": {
        "latitude": 41.823042361105024,
        "longitude": -71.40933143059424
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE",
  "requestedReferenceRoutes": ["SHORTER_DISTANCE"],
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Daha kısa rota yanıtı örneği

{
  "routes": [
    {
      "distanceMeters": 138943,
      "duration": "5373s",
      "routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
      "routeLabels": [
        "DEFAULT_ROUTE"
      ]
    },
    {
      "distanceMeters": 112610,
      "duration": "7165s",
      "routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
      "routeLabels": [
        "SHORTER_DISTANCE"
      ]
    }
  ]
}

Örnek istek: Daha kısa mesafe ve yakıt verimliliği yüksek rota

Aşağıdaki kodda hem daha kısa mesafeli hem de yakıt verimliliği yüksek bir rota isteği gösterilmektedir.

`

 curl -X POST -d '{
"origin": {  "location": {  "latLng": {  "latitude": 41.76904801292959,
"longitude": -72.67374935684933  }  }  },  "destination": {  "location": {
"latLng": {  "latitude": 41.823042361105024,  "longitude": -71.40933143059424  }
 }  },  "travelMode":"DRIVE",  "routingPreference":"TRAFFIC_AWARE_OPTIMAL",
"requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }' 
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Örnek yanıt: Daha kısa mesafe ve yakıt verimliliği yüksek rota

Bu durumda, en kısa mesafe ve yakıt verimliliği en yüksek rota aynı olduğundan bu rota döndürülür ve her iki rota türü için de routeLabel eklenir.

{  "routes": [  {  "distanceMeters": 138943,  "duration": "5375s",
"routeToken":
"Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ",
 "routeLabels": [  "DEFAULT_ROUTE"  ]  },  {  "distanceMeters": 112610,
"duration": "7156s",  "routeToken":
"CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f",
 "routeLabels": [  "FUEL_EFFICIENT",  "SHORTER_DISTANCE"  ]  }  ] }

Desteklenen bölgeler

Daha kısa mesafeli rotalar tüm bölgelerde desteklenir.

Faturalandırma

Google Haritalar Platformu, deneysel bir özelliğin kullanımı için ek ücret almaz. Belirlediğiniz diğer parametrelere göre API'yi kullanımınıza göre ücretlendirilirsiniz.

Routes API için faturalandırma hakkında daha fazla bilgi edinin.