Rota yanıtını incele

Routes API bir rotayı hesaplarken giriş olarak sağladığınız yol noktalarını ve yapılandırma parametrelerini alır. Ardından API, varsayılan rotayı ve bir veya daha fazla alternatif rotayı içeren bir yanıt döndürür.

Yanıtınız, istediğiniz alanlara bağlı olarak farklı rota türleri ve diğer veriler içerebilir:

Bu bilgileri yanıta eklemek için Bu dokümanlara bakın
Aracın motor türüne göre yakıt veya enerji verimliliği en yüksek rota. Çevre dostu rotaları yapılandırma
En fazla üç alternatif rota Alternatif rota isteğinde bulunma
Bir rotanın tamamı, bir rotanın her ayağı ve bir ayağın her adımı için poli çizgi. Rota çoklu çizgileri iste
Sürücünün veya aracın yararlanabileceği ücret indirimleri ya da geçiş kartları dikkate alınarak tahmini ücretler. Geçiş ücretlerini hesaplama
Dil kodlarına ve ölçü birimine (İngiliz veya metrik) göre yerelleştirilmiş yanıtlar. Yerelleştirilmiş değerler isteme
Gezinme talimatlarını HTML metin dizesi olarak biçimlendirmek için HTML_FORMATTED_NAVIGATION_INSTRUCTIONS değerini extraComputations değerine ekleyin. Ek Hesaplamalar

Giriş seçeneklerinin tam listesi için Kullanılabilir rota seçenekleri ve İstek gövdesi bölümüne bakın.

Yanıtı kullanarak müşterilerinize, ihtiyaçlarına uygun rotayı seçmek için gerekli bilgileri sağlayabilirsiniz.

Alan maskeleri hakkında

Bir rotayı hesaplamak için bir yöntem çağırdığınızda, yanıtta döndürülmesini istediğiniz alanları tanımlayan bir alan maskesi belirtmeniz gerekir. Döndürülen alanların varsayılan listesi yoktur. Bu listeyi atlarsanız yöntemler hata döndürür.

Bu belgedeki örneklerde, alan maskeleri dikkate alınmadan yanıt nesnesinin tamamı gösterilmektedir. Üretim ortamında yanıtınız yalnızca alan maskesinde açıkça belirttiğiniz alanları içerir.

Daha fazla bilgi için Geri döndürülecek bilgileri seçme başlıklı makaleyi inceleyin.

Telif hakkı bilgilerini gösterme hakkında

Sonuçları kullanıcılarınıza gösterirken aşağıdaki telif hakkı beyanını eklemeniz gerekir:

Powered by Google, ©YEAR Google

Örneğin:

Powered by Google, ©2023 Google

Rotalar, etaplar ve adımlar hakkında

Routes API'nin döndürdüğü yanıta bakmadan önce bir rotayı oluşturan bileşenleri anlamanız gerekir:

Rota, etap ve adım.

Yanıtınız, aşağıdaki rota bileşenlerinin her biri hakkında bilgi içerebilir:

  • Rota: Başlangıç ara noktasından, tüm ara ara noktalardan geçerek hedef ara noktasına kadar olan seyahatin tamamı. Rotalar bir veya daha fazla ayaktan oluşur.

  • Adım: Bir rotadaki bir yol noktasından rotadaki sonraki yol noktasına giden yol. Her ayak, bir veya daha fazla ayrı adımdan oluşur.

    Rotalar, her bir yol noktasından sonrakine giden yol için ayrı bir ayak içerir. Örneğin, rota tek bir başlangıç ve tek bir varış yol noktası içeriyorsa tek bir bacağı vardır. API, başlangıç ve varış noktasından sonra rotaya eklediğiniz her ek yol noktası için (ara yol noktası olarak adlandırılır) ayrı bir ayak ekler.

    API, geçiş ara yol noktası için bir etap eklemez. Örneğin, bir başlangıç yol noktası, geçiş yolu olan ara yol noktası ve hedef yol noktası içeren bir rota, yol noktasından geçerken başlangıçtan hedefe giden yalnızca bir kol içerir. Geçiş noktası hakkında daha fazla bilgi için Geçiş noktası tanımlama başlıklı makaleyi inceleyin.

  • Adım: Bir rotanın kolu boyunca tek bir talimat. Adım, bir rotanın en temel birimidir. Örneğin, bir adımda "Ana caddede sola dönün" yazabilir.

Yanıtın içeriği

API yanıtını temsil eden JSON nesnesi aşağıdaki üst düzey özellikleri içerir:

  • routes, Route türündeki bir öğe dizisidir. routes dizisi, API tarafından döndürülen her rota için bir öğe içerir. Dizi en fazla beş öğe içerebilir: varsayılan rota, çevre dostu rota ve en fazla üç alternatif rota.

  • geocodingResults, GeocodingResults türündeki bir öğe dizisidir. API, istekteki her konum (başlangıç, varış veya ara yol noktası) için adres dizesi veya Artı Kodu olarak belirttiğiniz yer kimliği araması yapar. Bu dizinin her bir öğesi, bir konuma karşılık gelen yer kimliğini içerir. İstekte yer kimliği veya enlem/boylam koordinatları olarak belirtilen konumlar dahil edilmez. Tüm konumları yer kimlikleri veya enlem ve boylam koordinatlarını kullanarak belirttiyseniz bu dizi sağlanmaz.

  • FallbackInfo türündeki fallbackInfo. API, tüm giriş özelliklerinden bir rota hesaplayamazsa farklı bir hesaplama yöntemi kullanabilir. Yedek mod kullanıldığında bu alan, yedek yanıtla ilgili ayrıntılı bilgi içerir. Aksi takdirde bu alanın değeri belirlenmez.

Yanıtın biçimi şudur:

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

routes dizisini çözme

Yanıt, her dizi öğesinin Route türüne sahip olduğu routes dizisini içerir. Her dizi öğesi, başlangıç noktasından varış noktasına giden rotanın tamamını temsil eder. API her zaman varsayılan rota adı verilen en az bir rota döndürür.

Ek rotalar isteyebilirsiniz. Çevre dostu rota isteğinde bulunursanız dizi iki öğe içerebilir: varsayılan rota ve çevre dostu rota. Alternatif olarak, yanıta üç adede kadar alternatif rota eklemek için istekte computeAlternativeRoutes değerini true olarak ayarlayın.

Dizideki her rota, routeLabels dizi özelliğiyle tanımlanır:

Değer Açıklama
DEFAULT_ROUTE Varsayılan rotayı tanımlar.
FUEL_EFFICIENT Çevre dostu rotayı tanımlar.
DEFAULT_ROUTE_ALTERNATE Alternatif bir rotayı gösterir.

legs dizisi, rotanın her bir bölümünün tanımını içerir. distanceMeters, duration ve polyline, gibi diğer mülkler, rotanın tamamıyla ilgili bilgileri içerir:

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

Mevcut sürüş koşulları ve diğer faktörler nedeniyle varsayılan rota ile çevre dostu rota aynı olabilir. Bu durumda, routeLabels dizisi hem DEFAULT_ROUTE hem de FUEL_EFFICIENT etiketlerini içerir.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     …
    }
  ]
}

legs dizisini anlama

Yanıtta her route, bir legs dizisi içerir. Bu dizinin her bir öğesi RouteLeg türündedir.legs Dizideki her ayak, rotadaki bir yol noktasından sonraki yol noktasına giden yolu tanımlar. Bir rota her zaman en az bir bacak içerir.

legs özelliği, steps dizisindeki koldaki her adımın tanımını içerir. distanceMeters, duration ve polyline gibi diğer özellikler, kol hakkında bilgi içerir.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

steps dizisini anlama

Yanıtta her bir yol bölümü bir steps dizisi içerir. Her steps dizisi öğesi RouteLegStep türündedir. Bir adım, bacaktaki tek bir talimata karşılık gelir. Bir bacak her zaman en az bir adım içerir.

steps dizisindeki her öğe, adım talimatlarını içeren NavigationInstruction türündeki navigationInstruction özelliğini içerir. Örneğin:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

instructions, adımla ilgili ek bilgiler içerebilir. Örneğin:

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

Adımda kalan özellikler, adımla ilgili bilgileri açıklar (ör. distanceMeters, duration ve polyline):

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

Adım talimatlarının dilini belirtme

API, rota bilgilerini yerel dilde döndürür. Tercih edilen dile bağlı olarak, gerekirse rota bilgileri kullanıcı tarafından okunabilen bir yazıya dönüştürülür. Adres bileşenlerinin tümü aynı dilde döndürülür.

  • Desteklenen diller listesinden rota dilini açıkça ayarlamak için isteğin languageCode parametresini kullanın. Google, desteklenen dilleri sık sık güncellediğinden bu liste tam kapsamlı olmayabilir.

  • Belirtilen dilde bulunmayan bir ad için API en yakın eşleşmeyi kullanır.

  • Belirtilen dil, API'nin döndürmeyi seçtiği sonuç grubunu ve bu sonuçların döndürülme sırasını etkileyebilir. Coğrafi kodlayıcı, kısaltmaları dile göre farklı şekilde yorumlar (ör. sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar). Örneğin, Macarcada utca ve tér, sokak kelimesinin eş anlamlısıdır.

geocodingResults dizisini anlama

API, istekteki adres dizesi veya Artı kodu olarak belirtilen her konum (başlangıç, varış veya ara yol noktası) için ilgili bir yer kimliği olan en alakalı konumu bulmaya çalışır. geocodingResults dizisinin her öğesi, konumu yer kimliği olarak içeren placeID alanını ve konum türünü belirten bir type alanını (ör. street_address, premise veya airport) içerir.

geocodingResults dizisi üç alan içerir:

  • origin: Adres dizesi veya Plus Code olarak belirtilmişse kaynağın yer kimliği. Aksi takdirde bu alan yanıttan çıkarılır.

  • destination: Adres dizesi veya Artı Kodu olarak belirtilmişse hedefin yer kimliği. Aksi takdirde bu alan yanıttan çıkarılır.

  • intermediates: Adres dizesi veya Plus Code olarak belirtilen tüm ara yol işaretlerinin yer kimliğini içeren bir dizi. Bir yer kimliği veya enlem ve boylam koordinatlarını kullanarak bir ara yol noktası belirtirseniz bu nokta yanıttan çıkarılır. İstekte hangi ara yol işaretinin yanıttaki yer kimliğine karşılık geldiğini belirlemek için yanıttaki intermediateWaypointRequestIndex mülkünü kullanın.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

Yerelleştirilmiş yanıt değerlerini anlama

Yerelleştirilmiş yanıt değerleri, döndürülen parametre değerleri için yerelleştirilmiş metin sağlayan ek bir yanıt alanıdır. Seyahat süresi, mesafe ve birim sistemi (metrik veya İngiliz) için yerelleştirilmiş metin sağlanır. Bir alan maskesi kullanarak yerelleştirilmiş değerler istersiniz ve dili ve birim sistemini belirtebilir veya API tarafından tahmin edilen değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues konusuna bakın.

Örneğin, Almanca (de) ve İngiliz birimleri için bir dil kodu belirtirseniz distanceMeters için 49889,7 değerini alırsınız. Ayrıca, bu mesafe ölçümünü Almanca ve İngiliz birimleri cinsinden sağlayan yerelleştirilmiş metin de alırsınız. Yani "31 Meile".

Yerelleştirilmiş değerler için göreceğinize dair bir örnek aşağıda verilmiştir:

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

Dil veya birim sistemini belirtmezseniz API, dili ve birimleri aşağıdaki gibi tahmin eder:

  • ComputeRoutes yöntemi, konumu ve mesafe birimlerini başlangıç istem noktasından çıkarır. Bu nedenle, ABD'deki bir yönlendirme isteği için API, en-US dilini ve IMPERIAL birimlerini tahmin eder.
  • ComputeRouteMatrix yöntemi varsayılan olarak "en-US" dili ve METRIC birimleri kullanır.