Rota yanıtını incele

Routes API bir rota hesaplarken ara noktaları alır ve yapılandırma parametrelerini dahil eder. Ardından, API bir yanıt döndürüyor default (varsayılan) rotayı ve bir veya daha fazla alternatif rotayı içeren URL'yi seçin.

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 açısından en verimli rota. Çevre dostu rotaları yapılandırma
En fazla üç alternatif rota Alternatif rotalar isteme
Rotanın her ayağı ve her adım için tüm rota için çoklu çizgi uzanır. Rota çoklu çizgileri iste
Tüm geçiş fiyat indirimleri dikkate alınarak hesaplanan tahmini geçiş ücretleri Sürücü veya araç için sunulan kartlar var. 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'ne bakın. ve İstek gövdesi.

Yanıtı kullanarak müşterilerinize istediğiniz bilgiyi sağlayabilirsiniz gereksinimlerine uygun rotayı seçmek için gereklidir.

Alan maskeleri hakkında

Rota hesaplamak için bir yöntem çağırdığınızda bir alan belirtmelisiniz maskesi (ör. yanıtta döndürülmesini istediğiniz alanları tanımlar) Hayır, varsayılan değer listesidir. Bu listeyi çıkarırsanız yöntemler hatası.

Bu dokümandaki örneklerde, yanıt nesnesinin tamamı kabul hesaba katar. Üretim ortamında yanıtınız yalnızca alan maskesinde açıkça belirttiğiniz alanları dahil edin.

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 anlaması gerekir:

Rota, bacak ve basamak.

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

  • Rota: Kalkış ara noktasından herhangi bir yere kadar tüm seyahatin tamamı ara ara noktaları, hedef ara noktasına Rota, veya daha fazla bacak.

  • Aşak: Rotadaki bir ara noktadan sonraki ara noktaya kadar olan yol yol gösterir. 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, rotada tek bir başlangıç ara noktası ve tek bir kalkış noktası varsa varsa, rota tek bir ayaktan oluşur. 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, Örneğin, bir kalkış noktası, geçiş noktası içeren bir rota bir ara nokta, bir hedef ara noktasının da referans noktasından geçerken başlangıç noktasını hedefe yönlendirir. Daha fazla geçiş referans noktalarıyla ilgili daha fazla bilgi için Bir geçiş ara noktası tanımlayın.

  • Adım: Bir rotanın ayağı üzerinde tek bir talimat. Bir adım rotanın atom birimi. Örneğin, bir adım "Ana Menüde sola dön Cadde''.

Yanıtın içeriği

JSON nesnesi aşağıdaki üst düzey özellikleri içerir:

  • routes, tür elemanlardan oluşan bir dizi Rota. 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 ile üç tane alternatif rota sunuyor.

  • geocodingResults, tür elemanlardan oluşan bir dizi GeocodingResults. İstekteki her konum (kaynak, hedef veya ara) için adres dizesi veya Artı kodu olarak belirttiğiniz ara nokta) API bir yer kimliği araması yapar. Bu dizinin her öğesi bir konuma karşılık gelen yer kodunu kullanın. İstekte belirtilen konumlar yer kimliği veya enlem/boylam koordinatları gibi bilgiler dahil edilmez. Tüm konumları yer kimlikleri veya enlem ve boylam kullanarak belirttiyseniz koordinatlarıyla birlikte bu dizi sağlanmaz.

  • fallbackInfo, tür FallbackInfo. API, tüm giriş özelliklerinden rota hesaplayamıyorsa farklı bir hesaplama yöntemi kullanmaya devam edebilir. Yedek olduğunda modu kullanılırsa bu alanda yedek hakkında ayrıntılı bilgiler yer alır. tıklayın. 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 türünde olan routes dizisini içerir Rota. Her dizi öğesi, başlangıç noktasından hedefe kadar tüm rotayı temsil eder. İlgili içeriği oluşturmak için kullanılan API her zaman, varsayılan rota adı verilen en az bir rota döndürür.

Ek rotalar isteyebilirsiniz. Bir çevre dostu rota içeriyorsa dizi iki öğe içerebilir: varsayılan rotayı ve çevre dostu rotayı seçebilirsiniz. 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 ayağının tanımını içerir. Kalan distanceMeters, duration ve polyline, gibi özellikler rotanın bütünüyle ilgili bilgiler:

{
  "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 örnekte, routeLabels dizisi şu iki etiketi de içeriyor: DEFAULT_ROUTE ve FUEL_EFFICIENT.

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

Bacak 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. Rota her zaman en az bir ayak içerir.

legs özelliği, steps dizisi. Kalan özellikler (ör. distanceMeters, duration, ve polyline bacakla ilgili bilgiler içeriyor.

{
  "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 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 bacakta her zaman en az bir adım olmalıdır.

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ç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 bilgileri açıklar. Örneğin, distanceMeters, duration ve polyline olarak:

{
  "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, kullanıcının okuyabileceği bir komut dosyası (ör. kullanıcı tarafından dili'ne dokunun. Adres bileşenlerinin tümü aynı dilde döndürülür.

  • Şu parametrenin languageCode parametresini kullan: şu kişiye istekte bulunun: rota dilini açıkça desteklenenler listesinden ayarla diller hakkında daha fazla bilgi edinin. Google genellikle desteklenen bu nedenle bu listede olası her örneğe yer verilmemiş olabilir.

  • 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 bunların döndürülme sırasını etkileyebilir. İlgili içeriği oluşturmak için kullanılan coğrafi kod, kısaltmaları dile bağlı olarak farklı şekillerde yorumlar, sokak türlerinin kısaltmaları veya sokaklarda geçerli olabilecek eş anlamlı kelimeler başka bir dilde değil. Ö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. Her bir öğe geocodingResults dizi placeID alanını içerir bir yer kimliği olarak konumu ve konumu belirten bir type alanı içerir street_address, premise veya airport gibi bir tür seçin.

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 Plus code olarak belirtilmişse hedefin yer kimliğini girin. Aksi takdirde, bu alan tıklayın.

  • intermediates: Herhangi bir ara öğenin yer kimliğini içeren dizi bir adres dizesi veya Plus code olarak belirtilen ara noktaları içerir. Örneğin yer kimliği veya enlemi kullanan bir ara referans noktası boylam koordinatları, yanıttan çıkarılır. Şunu kullanın: intermediateWaypointRequestIndex özelliğini kullanarak istekteki yer kimliğine karşılık gelen ara nokta yanıt verelim.

"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. Yerelleştirilmiş metin şunun için sağlanmıştır: seyahat süresi, mesafe ve birim sistem (metrik veya İngiliz ölçü birimi) 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 bkz. LocalizedValues.

Örneğin, Almanca (de) ve İngiliz ölçü birimi için bir dil kodu belirtirseniz için 49889,7 distanceMeters bir değer elde edersiniz. mesafe ölçümünü sağlayan Almanca ve yerelleştirilmiş metinlerin yanı sıra İngiliz ölçü birimleri, 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, konumu ve mesafeyi tahmin eder birim sayısını temel alır. ABD'deki bir yönlendirme isteği için API, en-US dil ve IMPERIAL birim çıkar.
  • ComputeRouteMatrix yöntemi varsayılan olarak "en-US" olur dil ve METRIC birimleri için geçerlidir.