Rota yanıtını incele

Avrupa Ekonomik Alanı (AEA) geliştiricileri

Routes API bir rota hesaplarken giriş olarak sağladığınız yol noktalarını ve yapılandırma parametrelerini kullanır. 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 verileri içerebilir:

Bunu yanıta dahil etmek için Bu belgelere 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 rotalar isteyin
Bir rotanın tamamı, rotanın her bir ayağı ve ayağın her bir adımı için çoklu çizgi. Rota çoklu çizgilerini iste
Sürücü veya araç için geçerli olan geçiş ücreti indirimleri ya da geçiş kartları dikkate alınarak hesaplanan tahmini geçiş ücretleri. Otoyol ücretlerini hesaplama
Dil kodlarına ve ölçü birimine (İngiliz veya metrik) göre yerelleştirilmiş yanıtlar. Yerelleştirilmiş değerler isteyin
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 bölümlerine bakın.

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

Alan maskeleri hakkında

Bir rotayı hesaplamak için bir yöntemi çağırdığınızda, yanıtta hangi alanların döndürülmesini istediğinizi tanımlayan bir alan maskesi belirtmeniz gerekir. Döndürülen alanların varsayılan bir listesi yoktur. Bu liste atlanırsa 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 Hangi bilgilerin döndürüleceğini seçme başlıklı makaleyi inceleyin.

Telif haklarını 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, rotayı oluşturan bileşenler hakkında bilgi sahibi olmanız gerekir:

Rota, bölüm ve adım.

Yanıtınızda bu rota bileşenlerinin her biriyle ilgili bilgiler yer alabilir:

  • Rota: Başlangıç ara noktasından, tüm ara noktalardan geçerek varış noktası ara noktasına kadar olan yolculuğun tamamı. Rota, bir veya daha fazla etaptan oluşur.

  • Etap: Bir rotadaki bir ara noktadan rotadaki bir sonraki ara noktaya giden yol. Her bir bacak, bir veya daha fazla ayrı adımdan oluşur.

    Bir rota, her bir ara noktadan bir sonrakine giden yol için ayrı bir bölüm içerir. Örneğin, rotada tek bir başlangıç ve tek bir varış noktası varsa rota tek bir etaptan oluşur. Başlangıç ve hedef noktadan sonra rotaya eklediğiniz her bir ek ara nokta için (ara ara nokta olarak adlandırılır) API ayrı bir etap ekler.

    API, geçiş ara yol noktası için bir etap eklemez. Örneğin, başlangıç ara noktası, geçiş ara noktası ve hedef ara noktası içeren bir rota, ara noktadan geçerek başlangıç noktasından hedef noktasına giden tek bir etaptan oluşur. Geçiş rotaları hakkında daha fazla bilgi için Geçiş rotası tanımlama başlıklı makaleyi inceleyin.

  • Adım: Bir rotanın bir bölümündeki tek bir talimat. Adım, bir rotanın en küçük birimidir. Örneğin, bir adımda "Ana Cadde'ye sola dönün" ifadesi yer alabilir.

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ünde bir öğe dizisi. 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 en fazla üç alternatif rota.

  • geocodingResults, GeocodingResults türündeki öğeler dizisi. İstek içinde adres dizesi veya Plus Code olarak belirttiğiniz her konum (başlangıç, hedef veya ara nokta) için API, yer kimliği araması yapar. Bu dizinin her öğ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 kimliklerini veya enlem ve boylam koordinatlarını kullanarak belirttiyseniz bu dizi sağlanmaz.

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

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ıtta, her dizi öğesinin türü routes olan dizi bulunur. Route. Dizideki her öğe, başlangıç noktasından varış noktasına kadar olan rotanın tamamını temsil eder. API her zaman en az bir rota (varsayılan rota) döndürür.

Ek rota isteğinde bulunabilirsiniz. Çevre dostu rota isteğinde bulunursanız dizi iki öğe içerebilir: varsayılan rota ve çevre dostu rota. Alternatif olarak, yanıta en fazla üç 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 ayağının tanımını içerir. distanceMeters, duration ve polyline, gibi kalan özellikler, rotanın tamamı hakkında bilgi 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ıtın her route öğesi bir legs dizisi içerir. Bu dizideki her legs öğesi RouteLeg türündedir. Dizideki her bölüm, rotadaki bir ara noktadan bir sonraki ara noktaya giden yolu tanımlar. Bir rota her zaman en az bir bölüm içerir.

legs özelliği, steps dizisindeki her bir ayağın tanımını içerir. distanceMeters, duration ve polyline gibi kalan özellikler, ayakla ilgili bilgileri içerir.

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

Adımlar dizisini anlama

Yanıtın her ayağında bir steps dizisi bulunur. Bu dizideki her öğe RouteLegStep türündedir.steps Bir adım, bacak boyunca tek bir talimata karşılık gelir. Bir ayak her zaman en az bir adım içerir.

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ım hakkında 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 diğer özellikler, adım hakkındaki bilgileri (ör. distanceMeters, duration ve polyline) 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, tercih edilen dili dikkate alarak rota bilgilerini yerel dilde döndürür. Gerekirse bu bilgiler, kullanıcı tarafından okunabilir bir alfabeye çevrilir. Adres bileşenlerinin tümü aynı dilde döndürülür.

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

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

  • Belirtilen dil, API'nin döndürmeyi seçtiği sonuç kümesini ve bu sonuçların döndürülme sırasını etkileyebilir. Geokodlayıcı, kısaltmaları dile bağlı olarak farklı şekilde yorumlar. Örneğin, sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar. Örneğin, Macarca'da utca ve tér, sokak kelimesinin eş anlamlısıdır.

geocodingResults dizisini anlama

İstek içinde adres dizesi veya Artı Kodu olarak belirtilen her konum (başlangıç, hedef veya ara yol noktası) için API, ilgili 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ü (ör. street_address, premise veya airport) belirten type alanını içerir.

geocodingResults dizisi üç alan içerir:

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

  • destination: Adres dizesi veya Plus Code olarak belirtilmişse hedef yerin yer kimliği. Aksi takdirde, bu alan yanıttan çıkarılır.

  • intermediates: Adres dizesi veya Plus Code olarak belirtilen tüm ara yol noktalarının yer kimliğini içeren bir dizi. Yer kimliği veya enlem ve boylam koordinatlarını kullanarak bir ara nokta belirtirseniz bu nokta yanıttan çıkarılır. İstekteki hangi ara yol noktasının yanıttaki yer kimliğine karşılık geldiğini belirlemek için yanıttaki 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. Seyahat süresi, mesafe ve birim sistemi (metrik veya İngiliz ölçü sistemi) için yerelleştirilmiş metin sağlanır. Alan maskesi kullanarak yerelleştirilmiş değerler isteyebilir, dili ve birim sistemini belirtebilir veya API tarafından çıkarılan değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues başlıklı makaleyi inceleyin.

Örneğin, Almanca (de) için bir dil kodu ve İngiliz birimleri belirtirseniz distanceMeters için 49889,7 değeri elde edersiniz. Ancak bu mesafe ölçümünü Almanca ve İngiliz birimleriyle sağlayan yerelleştirilmiş metin de elde edersiniz. Örneğin, "31 Meile".

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

{ "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 aşağıdaki şekilde çıkarır:

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