Hız sınırları

Roads API, belirli bir yol segmenti için gönderilen hız sınırını sağlar. Değişken hız sınırlarına sahip yol segmentleri söz konusu olduğunda, 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 ve tahmini, yanlış, eksik ve/veya eski olabilir. Hız sınırı verilerinin kullanılabildiği bölgeleri görmek için kapsam ayrıntılarını inceleyin.

İstekler

Hız sınırı isteği HTTPS üzerinden gönderilmelidir. Form şu şekildedir:

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 listesidir. 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, bir araç tarafından seyahat edilen en olası yolu (snapToRoads isteği için yaptığı gibi) yakalar ve ardından ilgili yol segmentinin hız sınırını belirler. API'nin yolu yakalamasını istemiyorsanız aşağıda açıklandığı gibi bir placeId parametresi iletmeniz gerekir. Aşağıdaki örnekte üç enlem/boylam çiftiyle 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üne değil, bir yol segmentine atıfta bulunduğundan emin olun. Her istek için en fazla 100 yer kimliği iletebilirsiniz. API, sağlanan yer kimliklerinde yol algılama işlemi gerçekleştirmez. Yanıt, istekteki her bir yer kimliği için bir hız sınırı içerir. Alakalı yer kimliklerini bulmak için snapToRoads veya nearestRoads isteği gönderebilir ve daha sonra bunları speedLimits isteğine giriş olarak sağlayabilirsiniz. Aşağıdaki örnekte iki yer kimliği içeren placeId parametresi gösterilmektedir: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key: Uygulamanızın API anahtarı. Uygulamanız, her isteğe bir API anahtarı ekleyerek Roads API öğesine her istek gönderdiğinde kendisini tanımlamalıdır. Anahtar almayı öğrenin.

İsteğe bağlı parametreler

  • units: Hız sınırlarını kilometre veya mil cinsinden döndürür. Bu, 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ı. Roads API tarafından döndürülen tüm yer kimlikleri, yol segmentlerine karşılık gelir.
    • speedLimit: Söz konusu yol segmentinin hız sınırı.
    • units: KPH veya MPH değerini döndürür.
  • snappedPoints - tutturulmuş noktalar dizisi. Bu dizi, yalnızca istek bir path parametresi içeriyorsa mevcuttur. Her bir nokta aşağıdaki alanlardan oluşur:
    • location: latitude ve longitude değerini içerir.
    • originalIndex: Orijinal istekteki karşılık gelen değeri gösteren bir tam sayı. İstekteki her değer, yanıttaki bir değere eşlenmiş olmalıdır. Bu değerler 0 dizininden dizine eklenir. Bu nedenle, originalIndex değeri 4 olan bir nokta, path parametresine iletilen 5. enlem/boylamın tutturulan 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, söz konusu yol segmentindeki hız sınırını belirlemek için hız sınırları isteğinde iletilebilir.
  • warning_message - Kullanıcının görebileceği bir uyarı içeren bir dize.

Yol kullanılarak yapılan örnek istek

Bu istek, Portekiz'in Lizbon şehrindeki Vasco da Gama köprüsünden geçen bir yolda, belirtilen enlem/boylam çiftlerine en yakın yol segmentlerinin 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 boşlukları için uyarı mesajına dikkat edin. İsteğe bağlı noktalarda en yakın yol segmentleri için hız sınırları istiyorsanız bunun yerine nearestRoads uç noktasından alınan yer kimliklerini kullanarak speedLimits çağrısı yapmanız gerekir.

Yer kimliklerini kullanan örnek istek

Enlem/boylam çiftlerini kullanmak yerine, yol segmentlerinin yer kimliklerini iletebilirsiniz. snapToRoads veya nearestRoads istekleri kullanarak yol segmentleri için yer kimlikleri almanızı öneririz. Yer kimliklerini ilettiğinizde API, her bir yer kimliğinin temsil ettiği yol segmentinin hız sınırını döndürür. API, sağlanan yer kimliklerine herhangi bir yol algılama uygulamaz.

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

İ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 aramaların hacmini en aza indirmek için öğelerinizin konumlarını 5 ila 15 dakikalık aralıklarla belirlemenizi öneririz (tam değer, öğenin ne kadar hızlı seyahat ettiğine bağlıdır). Bir öğe sabitse tek bir konum örneği yeterlidir (birden fazla çağrı yapılmasına gerek yoktur).

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

Hız sınırlarının bazıları/tümü neden eksik?

speedLimits olmamasının en yaygın nedeni, yol segmenti olmayan bir yerin hız sınırı için istekte bulunmaktır.

Yukarıdaki örnekte, kavramları göstermek için Vasco da Gama Köprüsü kullanılmıştır. Bu köprü, Rio Tejo'dan geçen E90 yolunu destekler. Köprünün kendi yer kimliği ChIJUzt97ZEwGQ0RM1JzQfqoDtU'dur. Yukarıdaki yanıtta yer alan ilk yol segmenti, E90 yolunun bir parçasıdır ve yer kimliği CheIJX12duJAwGQ0Ra0d4Oi4jOGE'ye sahiptir. Örnek istekte yol yer kimliğini köprünün yer kimliğiyle değiştirirseniz yanıtta köprünün yer kimliği tek bir yol segmentini ifade etmediği için speedLimits dizisinde yalnızca iki hız sınırı olur. Ayrıca, yer kimliklerinin hiçbiri yol segmentleri için değilse yanıt, hız sınırlarını içermez.

Yer kimliklerini kullanarak hız sınırı isteğinde bulunurken her bir yer kimliğinin farklı bir yer türüyle değil, bir yol segmentiyle ilgili olduğundan emin olun. Her bir yol segmentinin yer kimlikleri en iyi şekilde, tek bir çağrıdan birden fazla yer kimliği döndürebilen snapToRoads veya nearestRoads istekleri kullanılarak alınır.