Rota yanıtını incele

Routes API bir rota hesaplarken giriş olarak sağladığınız ara noktaları ve yapılandırma parametrelerini alır. Daha sonra API, default (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ürlerini ve başka verileri içerebilir:

Bunu yanıta eklemek için Bu dokümanları göster
Aracın motor türüne göre yakıt veya enerji açısından en verimli rota. Çevre dostu rotaları yapılandırma
En fazla üç alternatif rota Alternatif rotalar isteme
Rotanın her ayağı ve bacağın her adımı için tüm rota için çoklu çizgi. Rota çoklu çizgileri isteme
Sürücü veya araç için mevcut ücret indirimleri ya da geçiş kartları dikkate alınarak hesaplanan, tahmini geçiş ücretleri. Geçiş ücretlerini hesaplama
Dil kodlarına ve ölçüm 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 extraComputations öğesine HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ekleyin. Ekstra Hesaplamalar

Giriş seçeneklerinin tam listesi için Kullanılabilir rota seçenekleri ve İstek gövdesine bakın.

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

Alan maskeleri hakkında

Rota 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 bir listesi yoktur. Bu listeyi çıkarırsanız yöntemler hata döndürür.

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

Daha fazla bilgi için İade edilecek bilgileri seçme başlıklı makaleye bakın.

Telif haklarını görüntüleme hakkında

Sonuçları kullanıcılarınıza görüntülerken aşağıdaki telif hakkı bildirimini eklemeniz gerekir:

Powered by Google, ©YEAR Google

Örneğin:

Powered by Google, ©2023 Google

Rotalar, bacaklar ve adımlar hakkında

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

Rota, bacak ve basamak.

Yanıtınızda şu rota bileşenlerinin her biri hakkında bilgi bulunabilir:

  • Rota: Başlangıç ara noktasından herhangi bir ara ara nokta üzerinden varış noktasına kadar olan tüm seyahat. Rota, bir veya daha fazla ayaktan oluşur.

  • Aşak: Rotadaki bir ara noktadan rotadaki sonraki ara noktaya uzanan yol. Her bacak, bir veya daha fazla ayrı adımdan oluşur.

    Rotada her bir ara noktadan diğerine giden yol için ayrı bir ayak bulunur. Örneğin, rota hem tek bir kalkış noktası hem de tek bir hedef ara nokta içeriyorsa rotada tek bir ayak bulunur. API, kalkış ve hedeften sonra rotaya eklediğiniz, ara ara nokta adı verilen her ek ara nokta için ayrı bir ayak ekler.

    API, geçiş ara noktası için ayak eklemez. Örneğin, bir kalkış noktası, geçiş ara ara noktası ve hedef ara noktası içeren bir rota, ara noktadan geçerken başlangıç noktasından hedefe giden tek bir ayak içerir. Geçiş referans noktaları hakkında daha fazla bilgi için Geçiş ara noktası tanımlama bölümüne bakın.

  • Adım: Bir rotanın ayağı üzerinde tek bir talimat. Adım, rotanın en atomik birimidir. Örneğin, bir adım "Ana Cadde'de sola dön" şeklinde gösterebilir.

Yanıtın içeriği

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

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

  • geocodingResults, GeocodingResults türündeki bir öğe dizisidir. API, adres dizesi veya Artı kodu olarak belirttiğiniz istekteki her konum (kaynak, hedef veya ara ara nokta) için bir yer kimliği araması gerçekleştirir. Bu dizinin her öğesi, bir konuma karşılık gelen yer kimliğini içerir. Yer kimliği veya enlem/boylam koordinatları olarak belirtilen istekte konumlar dahil edilmez. Tüm konumları yer kimliklerini veya enlem ve boylam koordinatlarını kullanarak belirttiyseniz bu dizi sağlanmaz.

  • fallbackInfo, FallbackInfo türündeki. API, tüm giriş özelliklerinden rotayı hesaplayamazsa farklı bir hesaplama yöntemi kullanmaya geçebilir. Yedek modu kullanıldığında bu alan, yedek yanıtı hakkında ayrıntılı bilgiler içerir. Aksi takdirde bu alan ayarlanmaz.

Yanıt şu biçimdedir:

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

Rotalar dizisini çözme

Yanıt, her dizi öğesi Route türünde olan routes dizisini içerir. Her dizi öğesi, başlangıç noktasından hedefe kadar tüm rotayı 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 dizide iki öğe bulunabilir: varsayılan rota ve çevre dostu rota. Alternatif olarak, yanıta en fazla üç alternatif rota eklemek için istekte computeAlternativeRoutes öğesini true olarak ayarlayabilirsiniz.

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 rota belirtir.

legs dizisi, rotanın her ayağının tanımını içerir. distanceMeters, duration ve polyline, gibi kalan özellikler, rotayla ilgili bir bütün olarak bilgiler 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 ve çevre dostu rota aynı olabilir. Bu durumda, routeLabels dizisi şu iki etiketi de içerir: DEFAULT_ROUTE ve FUEL_EFFICIENT.

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

Bacak dizisini anlama

Yanıttaki her route, her legs dizi öğesi RouteLeg türünde olan bir legs dizisi içerir. Dizideki her ayak, rota üzerindeki bir ara noktadan diğer ara noktaya kadar olan yolu tanımlar. Rota her zaman en az bir ayak içerir.

legs özelliği, steps dizisindeki bacak boyunca her adımın tanımını içerir. distanceMeters, duration ve polyline gibi geri kalan özellikler, bacakla ilgili bilgiler içerir.

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

Adım dizisini anlama

Yanıttaki her bacak, her steps dizi öğesi RouteLegStep türünde olduğu bir steps dizisi içerir. Bir adım, bacak üzerinde tek bir talimata karşılık gelir. Bir bacakta her zaman en az bir adım vardır.

steps dizisindeki her öğe, adım talimatı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çeriyor olabilir. Ö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ımdaki geri kalan özellikler, adımla ilgili distanceMeters, duration ve polyline gibi bilgileri açıklar:

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

Adım talimatlarının dilini belirtin

API, rota bilgilerini yerel dilde, tercih edilen dilde gözlemleyip gerekirse kullanıcı tarafından okunabilen bir komut dosyasına metne dönüştürür. Adres bileşenlerinin tümü aynı dilde döndürülür.

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

  • Bir ad, belirtilen dilde mevcut değilse API en yakın eşleşmeyi kullanır.

  • Belirtilen dil, API'nin döndürmeyi seçtiği sonuç grubunu ve bunların döndürülme sırasını etkileyebilir. Coğrafi kodlayıcı, kısaltmaları dile bağlı olarak farklı şekilde yorumlar. Örneğin, sokak türlerinin kısaltmaları ya da bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlı kelimeler olabilir. Örneğin, utca ve tér, Macarcada sokak terimlerinin eş anlamlılarıdır.

geocodingResults dizisini anlama

API, adres dizesi veya Artı kodu olarak belirtilen istekteki her konum (kalkış, hedef ya da ara nokta) için karşılık gelen bir yer kimliğine sahip 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 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ğidir. Aksi takdirde, bu alan yanıta dahil edilmez.

  • destination: Adres dizesi veya Plus code olarak belirtilmişse hedefin yer kimliğidir. Aksi takdirde, bu alan yanıttan çıkarılır.

  • intermediates: Adres dizesi veya Plus code olarak belirtilen herhangi bir ara ara noktanın yer kimliğini içeren bir dizi. Yer kimliğini ya da enlem ve boylam koordinatlarını kullanarak ara bir ara nokta belirtirseniz bu nokta yanıttan çıkarılır. İstekteki hangi ara noktanın yanıttaki yer kimliğine karşılık geldiğini belirlemek için yanıtta intermediateWaypointRequestIndex özelliğini 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. Yolculuk süresi, mesafe ve birim sistem (metrik veya İngiliz ölçü birimi) için yerelleştirilmiş metin sağlanır. Yerelleştirilmiş değerleri alan maskesi kullanarak ister ve dili ve birim sistemini belirtebilir ya da API tarafından tahmin edilen değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues bölümüne bakın.

Örneğin, Almanca (de) ve İngiliz ölçü birimleri için bir dil kodu belirtirseniz 49889,7 distanceMeters için bir değer elde edersiniz.Bununla birlikte, bu mesafe ölçümünü Almanca ve İngiliz ölçü birimlerinde sağlayacak şekilde yerelleştirilmiş metni de (yani "31 Meile") elde edersiniz.

Yerelleştirilmiş değerler için göreceğiniz bir örneği aşağıda bulabilirsiniz:

{ "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 şu şekilde tahmin eder:

  • ComputeRoutes yöntemi, konum ve mesafe birimlerini başlangıç ara noktasından çıkarır. Yani API, ABD'deki bir yönlendirme isteği için en-US dilini ve IMPERIAL birimini belirler.
  • ComputeRouteMatrix yöntemi varsayılan olarak "en-US" dil ve METRIC birimlerine ayarlanır.