Method: computeRoutes

Bir dizi terminal ve ara ara nokta verildiğinde isteğe bağlı alternatif rotalarla birlikte birincil 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 üst bilgisini kullanarak sağlayabilirsiniz (kullanılabilir URL parametreleri ve üst bilgileri bölümüne bakın). Değer, virgülle ayrılmış alan yolları listesidir. Alan yollarının nasıl oluşturulacağı ile ilgili bu ayrıntılı dokümanlara bakın.

Örneğin, bu yöntemde:

  • Mevcut tüm alanların alan maskesi (manuel inceleme için): X-Goog-FieldMask: *
  • Rota düzeyinde süre, mesafe ve çoklu çizgi için alan maskesi (örnek üretim kurulumu): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google, aşağıdaki nedenlerle joker karakter (*) yanıt alanı maskesinin kullanılmasını veya alan maskesinin üst düzeyde (routes) belirtilmesini önermez:

  • Yalnızca ihtiyacınız olan alanları seçmeniz, sunucumuzun hesaplama döngülerini kaydetmesine yardımcı olarak sonucu size daha düşük bir gecikmeyle döndürmemizi sağlar.
  • Üretim işinizde yalnızca ihtiyacınız olan alanları seçmek, kararlı bir gecikme performansı sağlar. Gelecekte daha fazla yanıt alanı ekleyebiliriz ve bu yeni alanlar için ek hesaplama süresi gerekebilir. Tüm alanları veya üst düzeydeki tüm alanları seçerseniz ekleyeceğimiz yeni alanlar yanıta otomatik olarak dahil edileceğinden performansta düşüş yaşayabilirsiniz.
  • Yalnızca ihtiyacınız olan alanları seçtiğinizde yanıt boyutu küçülür ve böylece daha yüksek ağ işleme hızı elde edilir.

HTTP isteği

POST https://routespreferred.googleapis.com/v1alpha:computeRoutes

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

İstek içeriği

İstek gövdesi aşağıdaki yapıya sahip verileri 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,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Alanlar
origin

object (Waypoint)

Zorunlu. Başlangıç ara noktası.

destination

object (Waypoint)

Zorunlu. Hedef referans noktası.

intermediates[]

object (Waypoint)

İsteğe bağlı. Güzergah üzerinde durmak veya geçmek için rota üzerinde bir dizi ara nokta (uç noktalar hariç). En fazla 25 ara ara nokta desteklenir.

travelMode

enum (RouteTravelMode)

İsteğe bağlı. Ulaşım modunu belirtir.

routingPreference

enum (RoutingPreference)

İsteğe bağlı. Rotanın nasıl hesaplanacağını belirtir. Sunucu, rotayı hesaplamak için seçilen yönlendirme tercihini kullanmaya çalışır. Yönlendirme tercihi hataya veya ekstra uzun gecikmeye neden olursa bir hata döndürülür. 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ı. Poli çizginin kalitesiyle ilgili 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 varsayılan olarak isteği gönderdiğiniz zaman olur. Bu değeri geçmişte gerçekleşmiş bir zamana ayarlarsanız istek başarısız olur.

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

computeAlternativeRoutes

boolean

İsteğe bağlı. Rotaya ek olarak alternatif rotaların hesaplanıp hesaplanmayacağını belirtir. Ara yol işaretleri içeren istekler için alternatif rota döndürülmez.

routeModifiers

object (RouteModifiers)

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

languageCode

string

İsteğe bağlı. "en-US" veya "sr-Latn" gibi BCP-47 dil kodu. Daha fazla bilgi için Unicode Yerel Ayarı Tanımlayıcısı başlıklı makaleyi inceleyin. Desteklenen dillerin listesi için Dil desteği bölümüne 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österge alanları için ölçü birimlerini belirtir. Buna NavigationInstruction içindeki instruction alanı da 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.

optimizeWaypointOrder

boolean

optimizeWaypointOrder doğru olarak ayarlanırsa rotanın toplam maliyetini en aza indirmek için belirtilen ara yol işaretçilerini yeniden sıralamaya çalışılır. Ara yol işaretlerinden herhangi biri yol işareti üzerinden ise istek başarısız olur. Yeni sıralamayı bulmak için ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index simgesini kullanın. X-Goog-FieldMask üstbilgisinde routes.optimized_intermediate_waypoint_index istenmezse istek başarısız olur. optimizeWaypointOrder yanlış değerine ayarlanırsa ComputeRoutesResponse.optimized_intermediate_waypoint_index boş olur.

Yanıt gövdesi

Başarılıysa yanıt metni, ComputeRoutesResponse öğ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 Overview (OAuth 2.0'a Genel Bakış) sayfasına göz atın.