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 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 veya güncel olmayabilir. Hız sınırı verilerinin kullanılabildiği bölgeleri görmek için kapsam ayrıntılarına bakın.

İstekler

Aşağıdaki biçimde HTTPS kullanarak hız sınırları için istek 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, boru karakteriyle ("|") ayrılmalıdır. path parametresini sağladığınızda API, önce yolu bir araç tarafından gidilen en olası yola sabitler (snapToRoads isteğinde olduğu gibi), ardından ilgili yol segmentinin 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üne değil, bir yol segmentine referans verdiğinden emin olun. Her istekle en fazla 100 yer kimliği iletebilirsiniz. API, sağlanan yer kimliklerinde yol tutturma işlemi gerçekleştirmez. 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, 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=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key: Uygulamanızın API anahtarı. Uygulamanız, Roads API hizmetine 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: Hız sınırlarının kilometre/saat veya mil/saat cinsinden döndürülüp döndürülmeyeceği. 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: Yakalanmış noktaların dizisi. Bu dizi yalnızca istekte bir path parametresi varsa bulunur. Her nokta aşağıdaki alanlardan oluşur:
    • location: latitude ve longitude değerini içerir.
    • originalIndex: Orijinal istekteki ilgili değeri gösteren bir tam sayı. İsteklerdeki her değer, yanıttaki bir değerle eşlenmelidir. Bu değerler 0 ile dizine eklenir. Bu nedenle, originalIndex değeri 4 olan bir nokta, path parametresine aktarılan 5. enlem/boylamın sabitlenmiş 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ırı isteğinde iletilebilir.
  • warning_message: Kullanıcı tarafından görülebilen bir uyarıyı 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 olan 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ğiyle ilgili uyarı mesajına dikkat edin. Rastgele noktalarda en yakın yol segmentleri için hız sınırı isteğinde bulunuyorsanız bunun yerine nearestRoads uç noktasından alınan yer kimlikleriyle speedLimits'ı aramanı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 edinmenizi ö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 yol tutturma işlemi uygulamaz.

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

İ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, öğenin hareket ettiği hıza bağlıdır). Bir öğe sabitse tek bir konum örneği yeterlidir (birden fazla arama yapmaya gerek yoktur).

Genel gecikmeyi en aza indirmek için, mobil bir öğenin konumu her alındığında API'yi çağırmak yerine, biraz 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 simgesinin 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ı açıklamak için Vasco da Gama Köprüsü kullanılmıştır; köprü, Rio Tejo'nun üzerinden geçen E90 yolunu desteklemektedir. Köprünün kendisinin ChIJUzt97ZEwGQ0RM1JzQfqoDtU yer kimliği vardır. 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 segmentine referans vermediği için yanıtta speedLimits dizisinde yalnızca iki hız sınırı olur. Ayrıca, yer kimliklerinin hiçbiri yol segmentlerine ait değilse yanıtta hız sınırı 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ı ayrı yol segmentlerinin yer kimlikleri en iyi şekilde snapToRoads veya nearestRoads istekleri kullanılarak alınır. Bu isteklerin her ikisi de tek bir çağrıdan birden fazla yer kimliği döndürebilir.