Method: computeCustomRoutes

Bir dizi terminal ve ara ara nokta ve bir rota hedefi ışığında, rota hedefi için en iyi rotayı hesaplar. Ayrıca, referans rota olarak en hızlı rota ve en kısa rotayı döndürür.

NOT: Bu yöntem, girişte bir yanıt alanı maskesi belirtmenizi gerektirir. Yanıt alanı maskesini $fields veya fields URL parametresini ya da X-Goog-FieldMask HTTP/gRPC üstbilgisini kullanarak sağlayabilirsiniz (kullanılabilir URL parametrelerine ve üstbilgilerine bakın. Değer, alan yollarının virgülle ayrılmış listesidir. Alan yollarının nasıl oluşturulacağı ile ilgili bu ayrıntılı belgeleri inceleyin.

Örneğin, bu yöntemde:

  • Kullanılabilir tüm alanların alan maskesi (manuel inceleme için): X-Goog-FieldMask: *
  • Rota mesafelerini, sürelerini, jeton ve ücretli geçiş bilgilerini içeren alan maskesi: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google, joker karakter (*) yanıt alanı maskesinin kullanılmasını veya alan maskesinin üst düzeyde (routes) belirtilmesini önermez çünkü:

  • Yalnızca ihtiyacınız olan alanların seçilmesi, sunucumuzun hesaplama döngülerini kaydetmesine yardımcı olarak sonucu size daha düşük bir gecikmeyle sunmamıza olanak tanır.
  • Üretim işinizde yalnızca ihtiyacınız olan alanların seçilmesi, gecikme performansının istikrarlı olmasını sağlar. Gelecekte daha fazla yanıt alanı ekleyebiliriz ve bu yeni alanlar daha fazla hesaplama süresi gerektirebilir. Tüm alanları veya en üst düzeydeki tüm alanları seçerseniz eklediğimiz yeni alanlar otomatik olarak yanıta dahil edileceğinden performansta düşüş yaşayabilirsiniz.
  • Yalnızca ihtiyacınız olan alanların seçilmesi, daha küçük bir yanıt boyutu ve dolayısıyla daha yüksek ağ işleme hızıyla sonuçlanır.

HTTP isteği

POST https://routespreferred.googleapis.com/v1:computeCustomRoutes

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek gövdesi, aşağıdaki yapıyla birlikte veriler içerir:

JSON gösterimi
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
Alanlar
origin

object (Waypoint)

Zorunlu. Başlangıç ara noktası.

destination

object (Waypoint)

Zorunlu. Hedef ara nokta.

intermediates[]

object (Waypoint)

İsteğe bağlı. Güzergah boyunca, durağı veya yanından geçmek için durak noktaları hariç bir dizi ara nokta. En fazla 25 ara ara nokta desteklenir.

travelMode

enum (RouteTravelMode)

İsteğe bağlı. Ulaşım şeklini belirtir. Şu anda yalnızca DRIVE desteklenmektedir.

routingPreference

enum (RoutingPreference)

İsteğe bağlı. Rotanın nasıl hesaplanacağını belirtir. Sunucu, yolu hesaplamak için seçilen yönlendirme tercihini kullanmayı dener. Yönlendirme tercihi hataya veya ekstra uzun gecikmeye neden olursa hata döndürülür. Gelecekte, tercih edilen seçenek geçerli bir sonuç sağlamadığında farklı bir seçenek kullanmak için yedek bir mekanizma uygulayabiliriz. Bu seçeneği yalnızca travelMode DRIVE veya TWO_WHEELER olduğunda belirtebilirsiniz. Aksi takdirde istek başarısız olur.

polylineQuality

enum (PolylineQuality)

İsteğe bağlı. Çoklu çizginin kalitesi için tercihinizi belirtir.

polylineEncoding

enum (PolylineEncoding)

İsteğe bağlı. Çoklu çizgi için tercih edilen kodlamayı belirtir.

departureTime

string (Timestamp format)

İsteğe bağlı. Kalkış saati. Bu değeri ayarlamazsanız bu değer varsayılan olarak, isteği yaptığınız zamana ayarlanır. Bu değeri geçmişte olan bir zamana ayarlarsanız istek başarısız olur.

Nanosaniye çözünürlüğe ve en fazla dokuz kesir basamağına sahip, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

routeModifiers

object (RouteModifiers)

İsteğe bağlı. Rotaların hesaplanma şeklini etkileyen bir dizi koşul.

routeObjective

object (RouteObjective)

Zorunlu. Optimizasyon yapılacak rota hedefi.

languageCode

string

İsteğe bağlı. BCP-47 dil kodu (ör. "en-US" veya "sr-Latn"). Daha fazla bilgi için http://www.unicode.org/reports/tr35/#Unicode_locale_identifier sayfasına bakın. Desteklenen dillerin listesi için Dil Desteği sayfasına bakın. Bu değeri sağlamadığınızda görüntüleme dili, rota isteğinin konumundan belirlenir.

units

enum (Units)

İsteğe bağlı. Görüntülenen alanlar için ölçü birimlerini belirtir. NavigationInstruction içindeki instruction alanı da buna dahildir. Rota, bacak, adım mesafesi ve süre için kullanılan ölçü birimleri bu değerden etkilenmez. Bu değeri sağlamazsanız görüntüleme birimleri, isteğin konumundan tahmin edilir.

Yanıt gövdesi

Başarılıysa yanıt metni, ComputeCustomRoutesResponse öğesinin bir örneğini içerir.

Yetkilendirme Kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Daha fazla bilgi için OAuth 2.0'a Genel Bakış başlıklı makaleye bakın.