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 ve tahmini, yanlış, eksik ve/veya güncel olmayabilir. 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ıyla ilgili istekler HTTPS üzerinden gönderilmelidir ve aşağıdaki 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 bir liste. 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 bir aracın gidebileceği en olası yola giden yolu (snapToRoads isteğinde olduğu gibi) tutturur, ardından ilgili yol segmentinin hız sınırını belirler. API'nin yolu tutturmasını istemiyorsanız aşağıda açıklandığı şekilde 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 segmentini belirttiğinden emin olun. Her istekle birlikte en fazla 100 yer kimliği iletebilirsiniz. API, sağlanan yer kimlikleri üzerinde yol tutturma 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 snapToRoads veya nearestRoads isteği gönderebilir ve daha sonra bunları speedLimits isteğine girdi olarak sağlayabilirsiniz. Aşağıdaki örnekte, iki yer kimliğine sahip 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'a her istek gönderdiğinde kendini tanımlamalıdır. Nasıl anahtar alacağınızı öğrenin.

İsteğe bağlı parametreler

  • units — Hız sınırlarının saatte kilometre veya mil olarak döndürülüp döndürülmeyeceğini belirtir. 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ı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ı.
    • unitsKPH veya MPH değerini döndürür.
  • snappedPoints — bir araya getirilen noktalar dizisi. Bu dizi, yalnızca istek bir path parametresi içeriyorsa bulunur. Her puan aşağıdaki alanlardan oluşur:
    • locationlatitude 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ıtta uygulanan bir değerle eşlenmelidir. Bu değerler 0 kaynağından dizine eklenmiştir. originalIndex değeri 4 olan bir nokta, path parametresine iletilen 5. enlem/boylamın anlık 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, ilgili yol segmenti boyunca hız sınırını belirlemek için hız sınırı isteğinde iletilebilir.
  • warning_message: Kullanıcıların görebildiği uyarı içeren bir 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 olan her yol 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 nokta azlığı ile ilgili uyarı mesajına dikkat edin. Rastgele noktalarda en yakın yol segmentleri için hız sınırları talep ediyorsanız bunun yerine nearestRoads uç noktasından alınan yer kimlikleri ile speedLimits işlevini çağırmanız gerekir.

Yer kimliklerini kullanan örnek istek

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

Aşağıdaki örnekte, Portekiz'in Lizbon şehrindeki Vasco da Gama köprüsünden geçen yol segmentlerinin bazıları 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 örneklendirmenizi öneririz (Kesin değer, öğenin seyahat ettiği hıza bağlıdır). Bir öğe sabitse 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 bir kısmı veya tamamı neden eksik?

speedLimits değerinin eksik olmasının en yaygın nedeni, yolun bir bölümü olmayan bir yer için hız sınırını istemektir.

Yukarıdaki örnekte, kavramları göstermek için Vasco da Gama köprüsü kullanılmaktadır; köprü, Rio Tejo üzerindeki E90 kara yolunu destekler. 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 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. Ayrıca yer kimliklerinin hiçbiri yol segmentlerine yönelik değilse yanıtta herhangi bir hız sınırı bulunmaz.

Yer kimliklerini kullanarak hız sınırı isteklerinde bulunurken, her yer kimliğinin farklı bir yer türü yerine bir yol segmentine atıfta bulunduğundan emin olun. Her bir yol segmentine ait yer kimliklerinin alınması 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.