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ümanları göster
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 rotalar isteme
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. Gişe ü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 extraComputations öğesine HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ekleyin. Ekstra 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öntemi çağırırken, 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 çı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 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ızda şu rota bileşenlerinin her biri hakkında bilgi bulunabilir:

  • Rota: Başlangıç ara noktasından, tüm ara ara noktalardan geçerek hedef ara noktasına kadar olan seyahatin tamamı. Rota, 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 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 bacak ekler.

    API, geçiş ara yol noktası için bir etap 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ş 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, rotanın en atomik 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 mülkleri 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. Yer kimliği veya enlem/boylam koordinatları olarak belirtilen istekte 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 modu kullanıldığında bu alan, yedek yanıtı hakkında ayrıntılı bilgiler 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 öğesi Route türünde olan 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 dizide iki öğe bulunabilir: 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 rota belirtir.

legs dizisi, rotanın her bir bölümü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 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. 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ıttaki her ayak, bir steps dizisi içerir. Her steps dizisi öğesi RouteLegStep türündedir. Bir adım, bacak üzerinde 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ı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 belirtme

API, rota bilgilerini yerel dilde döndürür. Tercih edilen dile göre, gerekirse kullanıcı tarafından okunabilen bir yazıya transkript olarak 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ıta dahil edilmez.

  • 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. 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 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 ş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 birimleridir.