Hız sınırları

Roads API, belirli yol segmentleri için hız sınırını döndürür. Değişken hız sınırlarına sahip yol segmentlerinde, otomobiller için o segmentteki maksimum hız sınırı döndürülür.

Roads API tarafından döndürülen hız sınırı verilerinin doğruluğu garanti edilemez. Sağlanan hız sınırı verileri gerçek zamanlı değildir ve tahmini, yanlış, eksik veya güncelliğini yitirmiş olabilir. Hız sınırı verilerinin kullanılabildiği bölgeleri görmek için kapsam ayrıntılarına bakın.

İstekler

Hız sınırları için istekleri HTTPS kullanarak aşağıdaki biçimde gönderin:

https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY

Parametre kullanımı

Gerekli parametreler

  • path veya placeId parametresi.

    • path: Bir yolu temsil eden en fazla 100 enlem/boylam çiftinin listesi. Enlem ve boylam değerleri virgülle ayrılmalıdır. Enlem/boylam çiftleri, dikey çizgi karakteriyle ("|") ayrılmalıdır. path parametresini sağladığınızda API, önce yolu bir aracın seyahat etme olasılığı en yüksek yola sabitler (snapToRoads isteğinde olduğu gibi) ve ardından ilgili yol segmenti için hız sınırını belirler. API'nin yolu tutturmasını istemiyorsanız aşağıda açıklandığı gibi bir placeId parametresi iletmeniz gerekir. Aşağıdaki örnekte, üç enlem/boylam çifti içeren path parametresi gösterilmektedir: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId: Bir veya daha fazla yol segmentini temsil eden yer kimlikleri. Her yer kimliğinin farklı bir yer türünü değil, bir yol segmentini ifade ettiğinden emin olun. Her istekte en fazla 100 yer kimliği iletebilirsiniz. Yanıtta, istekteki her yer kimliği için bir hız sınırı bulunur.

      API, sağlanan yer kimliklerinde yola tutturma işlemi gerçekleştirmez. İlgili yer kimliklerini bulmak için snapToRoads veya nearestRoads isteği gönderebilir, ardından bunları speedLimits isteğine giriş olarak sağlayabilirsiniz. Aşağıdaki örnekte, iki yer kimliği içeren placeId parametresi gösterilmektedir: placeId=ChIJs5ydyTiuEmsR0fRSlU0C7k0&placeId=ChIJW__r4ERXzpQRgkeRL6P0m3Y

  • key: Uygulamanızın API anahtarı. Uygulamanız, Roads API hizmetine her istek gönderdiğinde her isteğe bir API anahtarı ekleyerek kendisini tanımlamalıdır. Nasıl anahtar alacağınızı öğrenin.

İsteğe bağlı parametreler

  • units: Hız sınırlarının kilometre/saat veya mil/saat cinsinden döndürülüp döndürülmeyeceğini belirtir. Bu değer KPH veya MPH olarak ayarlanabilir. Varsayılan değer KPH'dir.

Yanıtlar

speedLimits yanıtında aşağıdaki öğeler bulunabilir:

  • speedLimits: Yol meta verileri dizisi. Her öğe aşağıdaki alanlardan oluşur:
    • placeId: Bir yerin benzersiz tanımlayıcısı. Roads API tarafından döndürülen tüm yer kimlikleri yol segmentlerine karşılık gelir.
    • speedLimit: İlgili yol segmenti için hız sınırı.
    • units: KPH veya MPH değerini döndürür.
  • snappedPoints: Yakalanan noktalar dizisi. Bu dizi yalnızca istekte path parametresi varsa bulunur. Her nokta aşağıdaki alanlardan oluşur:
    • location: latitude ve longitude değeri içerir.
    • originalIndex: Orijinal istekteki karşılık gelen değeri gösteren bir tam sayı. İstekteki her değer, yanıttaki bir yakalanan değerle eşleşmelidir. Bu değerler 0 değerinden dizine eklenir. Bu nedenle, originalIndex değeri 4 olan bir nokta, path parametresine iletilen 5. enlem/boylamın sabitlenen değeri olur.
    • placeId: Bir yerin benzersiz tanımlayıcısı. Roads API tarafından döndürülen tüm yer kimlikleri yol segmentlerine karşılık gelir. placeId, bir hız sınırı isteğinde iletilerek ilgili yol segmentindeki hız sınırını belirlemek için kullanılabilir.
  • warning_message: Kullanıcıya gösterilen bir uyarı içeren dize.

Yol kullanan örnek istek

Bu istek, Portekiz'in Lizbon kentindeki Vasco da Gama köprüsünden geçen bir yolda belirtilen enlem/boylam çiftlerine en yakın her yol segmentinin hız sınırını alır.

İstek

https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY

Yanıt

{
  speedLimits:
  [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ],
  snappedPoints:
  [
    {
      location:
      {
        latitude: 38.75807927603043,
        longitude: -9.037417546438084
      },
      originalIndex: 0,
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE"
    },
    {
      location:
      {
        latitude: 38.689653701836896,
        longitude: -9.177051486847693
      },
      originalIndex: 1,
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU"
    },
    {
      location:
      {
        latitude: 41.13993011767777,
        longitude: -8.609400794783655
      },
      originalIndex: 2,
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M"
    }
  ],
  warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation."
}

Yukarıdaki yanıtta, nokta seyrekliğine ilişkin uyarı mesajına dikkat edin. Rastgele noktalardaki en yakın yol segmentleri için hız sınırlarını istiyorsanız speedLimits yöntemini nearestRoads uç noktasından alınan yer kimlikleriyle çağırmanız gerekir.

Yer kimliklerini kullanan örnek istek

Enlem/boylam çiftleri kullanmak yerine yol segmentlerinin yer kimliklerini iletebilirsiniz. Yol segmentleri için yer kimliklerini snapToRoads veya nearestRoads isteklerini kullanarak almanızı öneririz. Yer kimliklerini ilettiğinizde API, her yer kimliğiyle temsil edilen yol segmentinin hız sınırını döndürür. API, sağlanan yer kimliklerine herhangi bir yola tutturma işlemi uygulamaz.

Aşağıdaki örnekte, Portekiz'in Lizbon şehrindeki Vasco da Gama köprüsünden geçen bazı yol segmentleri için hız sınırları istenmektedir.

İstek

https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY

Yanıt

{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}

Kullanım önerileri

Hız Sınırı hizmetine yapılan çağrıların hacmini en aza indirmek için öğelerinizin konumlarını 5 ila 15 dakikalık aralıklarla örneklemenizi öneririz (tam değer, öğenin hareket hızına bağlıdır). Öğe sabitse tek bir konum örneği yeterlidir (birden fazla çağrı yapmaya gerek yoktur).

Genel gecikmeyi en aza indirmek için, mobil öğenin konumu her alındığında API'yi çağırmak yerine, bir miktar veri topladıktan sonra Hız Sınırı hizmetini çağırmanızı öneririz.

Neden bazı/tüm hız sınırları eksik?

speedLimits değerinin eksik olmasının en yaygın nedeni, yol segmenti olmayan bir yerin hız sınırının istenmesidir.

Yukarıdaki örnekte, kavramları göstermek için Vasco da Gama köprüsü kullanılmıştır. Köprü, Rio Tejo üzerinden geçen E90 yolunu desteklemektedir. Köprünün yer kimliği ChIJUzt97ZEwGQ0RM1JzQfqoDtU'dur. Yukarıdaki yanıttaki ilk yol segmenti, E90 yolunun bir parçasıdır ve yer kimliği ChIJX12duJAwGQ0Ra0d4Oi4jOGE'dir. Örnek istekte, yolun yer kimliğini köprünün yer kimliğiyle değiştirirseniz köprünün yer kimliği tek bir yol segmentini ifade etmediği için yanıttaki speedLimits dizisinde yalnızca iki hız sınırı olur. Ayrıca, yer kimliklerinden hiçbiri yol segmentleri için değilse yanıtta hız sınırı bilgisi yer almaz.

Yer kimliklerini kullanarak hız sınırı istekleri gönderirken her yer kimliğinin farklı bir yer türünü değil, bir yol segmentini ifade ettiğinden emin olun. Ayrı yol segmentlerinin yer kimlikleri, tek bir çağrıdan birden fazla yer kimliği döndürebilen snapToRoads veya nearestRoads istekleri kullanılarak en iyi şekilde alınır.

Bir yol segmentinde arabalar ve kamyonlar için ayrı hız sınırları varsa ne olur?

Roads API, yalnızca otomobiller için yayınlanan maksimum hız sınırını döndürür.