Hız sınırları

Roads API, belirli bir yol segmenti için gönderilen hız sınırını döndürür. Değişken hız sınırlarına sahip yol segmentlerinde, segment için varsayılan 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. Tahmini, yanlış, eksik ve/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ırı isteği HTTPS üzerinden gönderilmelidir ve şu biçimdedir:

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 çiftinden oluşan liste. Enlem ve boylam değerleri virgülle ayrılmalıdır. Enlem/boylam çiftleri, düz çizgi karakteriyle ayrılmalıdır: "|". path parametresini sağladığınızda API, önce yolu bir aracın gidebileceği en olası yola ekler (snapToRoads isteğinde olduğu gibi) ve ardından ilgili yol segmenti için hız sınırını belirler. API'nin yolu yapıştırmasını istemiyorsanız aşağıda açıklandığı gibi bir placeId parametresi iletmeniz gerekir. Aşağıdaki örnekte üç enlem/boylam çiftine sahip 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 bölümünü belirttiğinden emin olun. Her istekte 100'e kadar yer kimliği iletebilirsiniz. API, sağlanan yer kimliklerinde yol yapıştırma işlemi yapmaz. Yanıt, istekteki her yer kimliği için bir hız sınırı içerir. İlgili yer kimliklerini bulmak için bir snapToRoads veya nearestRoads isteği gönderebilir ve ardından bunları speedLimits isteğine giriş olarak sağlayabilirsiniz. Aşağıdaki örnekte iki yer kimliği olan placeId parametresi gösterilmektedir: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key — Uygulamanızın API anahtarı. Uygulamanız, Roads API öğesine her istek gönderdiğinde her isteğe bir API anahtarı ekleyerek kendini tanımlamalıdır. Nasıl anahtar alacağınızı öğrenin.

İsteğe bağlı parametreler

  • units — Kilometre veya mil/saat cinsinden hız sınırlarının döndürülme durumu. KPH veya MPH olarak ayarlanabilir. Varsayılan olarak KPH değerine ayarlanır.

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ıdır. Roads API tarafından döndürülen tüm yer kimlikleri, yol segmentlerine karşılık gelir.
    • speedLimit: Söz konusu yol segmenti için hız sınırı.
    • units: KPH veya MPH değerini döndürür.
  • snappedPoints — bir dizi tutturulmuş noktalar. Bu dizi, yalnızca istek bir path parametresi içeriyorsa mevcuttur. Her nokta aşağıdaki alanlardan oluşur:
    • location; latitude ve longitude değerlerini içerir.
    • originalIndex: Orijinal istekteki karşılık gelen değeri belirten bir tam sayı. İstekteki her değer, yanıta eklenmiş bir değerle eşleşmelidir. Bu değerler, 0 dizininden dizine eklenir. Bu nedenle, originalIndex olarak 4 olan bir nokta, path parametresine geçirilen 5. enlem/boylamın tutturulmuş değeri olur.
    • placeId: Bir yerin benzersiz tanımlayıcısıdır. Roads API tarafından döndürülen tüm yer kimlikleri, yol segmentlerine karşılık gelir. placeId, söz konusu yol segmenti boyunca hız sınırını belirlemek için bir hız sınırı isteğinde geçirilebilir.
  • warning_message: Kullanıcının görebileceği bir uyarı içeren dize.

Yol kullanan örnek istek

Bu istek, Portekiz'in Lizbon şehrindeki Vasco da Gama köprüsünden geçen bir yoldaki, belirtilen enlem/boylam çiftlerine en yakın yol segmentinin her bir segmenti için 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 yer alan nokta kısıtlılığı ile ilgili uyarı mesajına dikkat edin. Rastgele noktalardaki en yakın yol segmentleri için hız sınırları talep ediyorsanız bunun yerine nearestRoads uç noktasından alınan yer kimlikleriyle speedLimits yöntemini çağırmanız gerekir.

Yer kimliklerinin kullanıldığı örnek istek

Enlem/boylam çiftlerini kullanmak yerine, yol segmentlerinin yer kimliklerini iletebilirsiniz. snapToRoads veya nearestRoads isteklerini kullanarak yol segmentleri için yer kimlikleri almanızı öneririz. Yer kimliklerini ilettiğinizde, API her bir yer kimliğiyle temsil edilen yol segmentinin hız sınırını döndürür. API, sağlanan yer kimliklerine herhangi bir yol yapıştırma 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-15 dakikalık aralıklarla örneklemenizi öneririz (tam değer bir öğenin hareket hızına bağlıdır). Bir öğe durağan durumdaysa tek bir konum örneği yeterlidir (birden fazla çağrı yapmaya gerek yoktur).

Genel gecikmeyi en aza indirmek için, bir 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.

Hız sınırlarının bazıları/tamamı neden eksik?

speedLimits aracının eksik olmasının en yaygın nedeni, yol segmenti dışındaki bir yere hız sınırı istenmesidir.

Yukarıdaki örnekte kavramları açıklamak için Vasco da Gama köprüsü kullanılmıştır; köprü, Rio Tejo üzerindeki E90 kara yolunu destekler. Köprünün yer kimliği ChIJUzt97ZEwGQ0RM1JzQfqoDtU vardır. Yukarıdaki yanıttaki ilk yol segmenti E90 yolunun bir parçasıdır ve ChiJX12duJAwGQ0Ra0d4Oi4jOGE yer kimliğine sahiptir. Örnek istekte yol yeri kimliğini köprünün yer kimliğiyle değiştirirseniz köprünün yer kimliği tek bir yol segmentini belirtmediğinden yanıtta speedLimits dizisinde yalnızca iki hız sınırı olur. Dahası, yer kimliklerinin hiçbiri yol segmentlerine yönelik değilse yanıtta hız sınırı bulunmaz.

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. Her bir yol segmentleri için yer kimlikleri en iyi şekilde, snapToRoads veya nearestRoads istekleri kullanılarak alınır. Bu isteklerin her biri tek bir çağrıdan birden fazla yer kimliği döndürebilir.