Rota yanıtını incele

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

Yanıtınız, istekte bulunduğunuz alanlara bağlı olarak farklı rota türlerini ve diğer verileri içerebilir:

Bunu yanıta eklemek için Bu belgelere göz atı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 rotalar isteme
Bir rotanın tamamı, rotanın her bir ayağı ve her adımı için çoklu çizgi. Rota çoklu çizgilerini isteme
Sürücü veya araç için geçerli geçiş ücretleri ya da geçiş ücretleri göz önünde bulundurularak 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 iste
Gezinme talimatlarını HTML metin dizesi olarak biçimlendirmek için HTML_FORMATTED_NAVIGATION_INSTRUCTIONS öğesini extraComputations öğesine ekleyin. Ek Hesaplamalar

Giriş seçeneklerinin tam listesi için Kullanılabilir rota seçenekleri ve İstek gövdesi'ne göz atın.

Yanıtı kullanarak müşterilerinize, gereksinimlerine uygun yolu seçmeleri için gerekli 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östermektedir. Bir üretim ortamında, yanıtınız yalnızca alan maskesinde açıkça belirttiğiniz alanları içerir.

Daha fazla bilgi için Döndürülecek bilgileri seçme bölümüne 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ı beyanını 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, rotayı oluşturan bileşenler hakkında bilgi sahibi olmanız gerekir:

Rota, bacak ve adım.

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

  • Rota: Kalkış noktasındaki ara noktalardan başlayarak hedef ara noktaya kadar yapılan tüm yolculuk. Rotalar bir veya daha fazla bacaktan oluşur.

  • Ayak: Rotadaki bir referans noktasından rotadaki bir sonraki ara noktaya kadar yol. Her bacak, bir veya daha fazla ayrı adımdan oluşur.

    Güzergah, her bir ara noktadan diğerine giden yolun ayrı bir ayağı içerir. Örneğin, rotada tek bir başlangıç noktası ve tek bir hedef ara nokta varsa rota tek bir ayak içerir. API, başlangıç noktası ve hedeften sonra rotaya eklediğiniz her bir ek ara nokta (ara ara nokta olarak adlandırılır) için ayrı bir bacak ekler.

    API, geçiş ara noktası için bir ayak eklemez. Örneğin, bir başlangıç noktası ara noktası, bir geçiş ara noktası ve hedef ara nokta içeren bir rota, başlangıç noktasından hedefe giden ve ara noktadan geçen yalnızca bir ayağı içerir. Geçiş ara 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ğı boyunca yapılan tek bir talimat. Adım, bir rotanın en atom birimidir. Örneğin, bir adımda "Ana Cadde'den sola dönün" ifadesi gösterilebilir.

Yanıtta neler var?

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

  • routes, Route türündeki bir öğe dizisi. routes dizisi, API'nin döndürdüğü 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 türünde bir öğe dizisidir. GeocodingResults türünde bir öğe dizisi. API, istekte adres dizesi veya Plus kodu olarak belirttiğiniz her konum (kaynak, hedef veya ara ara nokta) için bir yer kimliği araması gerçekleştirir. 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, FallbackInfo türünde. API tüm giriş özelliklerinden bir rota 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ın biçimi şu şekildedir:

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

Rota dizisini çözme

Yanıt, her dizi öğesinin Route türünde olduğu 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 bir 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 ayarlayabilirsiniz.

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

Değer Açıklama
DEFAULT_ROUTE Varsayılan yolu 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 geri kalan mülkler bütün olarak rotayla 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 ve çevre dostu rota aynı olabilir. Bu durumda, routeLabels dizisi iki etiketi de içerir: DEFAULT_ROUTE ve FUEL_EFFICIENT.

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

Bacak dizisini anlama

Yanıttaki her route, her bir legs dizi öğesinin RouteLeg türünde olduğu bir legs dizisi içerir. Dizideki her bacak, rota boyunca bir referans noktasından sonraki ara noktaya kadar olan yolu tanımlar. Bir rota her zaman en az bir ayak içerir.

legs özelliği, steps dizisindeki ayak 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 öğesinin RouteLegStep türünde olduğu bir steps dizisi içerir. Adım, bacak boyunca tek bir talimata karşılık gelir. Bir bacakta her zaman en az bir adım vardır.

steps dizisindeki her bir öğ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 içinde, adımla ilgili ek bilgiler bulunabilir. Ö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"
}

Bu adımın geri kalan özellikleri, 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, tercih edilen dili gözlemlerken rota bilgilerini yerel dilde, gerekirse kullanıcı tarafından okunabilecek bir komut dosyasına çevrilmiş şekilde döndürür. Adres bileşenlerinin tümü aynı dilde döndürülür.

  • Rota dilini desteklenen diller listesinden açık bir şekilde ayarlamak için bir isteğin languageCode parametresini kullanın. Google, desteklenen dilleri sıklıkla güncellediğinden bu liste tam olmayabilir.

  • Belirtilen dilde ad bulunmuyorsa API en yakın eşleşmeyi kullanır.

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

geocodingResults dizisini anlama

API, adres dizesi veya Plus kodu olarak belirtilen istekteki her konum (kaynak, hedef veya ara ara nokta) için karşılık gelen bir yer kimliğine sahip en alakalı konumu bulmaya çalışır. geocodingResults dizisinin her bir öğesi, bir yer kimliği olarak konumu içeren placeID alanını ve konum türünü (street_address, premise veya airport gibi) belirten bir type alanını içerir.

geocodingResults dizisi üç alan içerir:

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

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

  • intermediates: Adres dizesi veya Plus kodu olarak belirtilen herhangi bir ara ara noktanın yer kimliğini içeren dizi. Yer kimliği veya enlem ve boylam koordinatları kullanarak ara nokta belirtirseniz yanıttan çıkarılır. İstekteki hangi ara 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 sistemi (metrik veya İngiliz) için yerelleştirilmiş metin sağlanır. Alan maskesi kullanarak yerelleştirilmiş değerler ister ve dil ile birim sistemini belirtebilir ya da API tarafından tahmin edilen değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues.

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

Aşağıda, yerelleştirilmiş değerler için görebileceğiniz bir örnek verilmiştir:

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

Dili veya birim sistemini belirtmezseniz API, dili ve birimleri şu şekilde tahmin eder:

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