Roads API से, सड़क के किसी सेगमेंट के लिए पोस्ट की गई स्पीड लिमिट की जानकारी मिलती है. अगर सड़क के सेगमेंट के लिए अलग-अलग गति सीमाएं हैं, तो सेगमेंट के लिए डिफ़ॉल्ट गति सीमा दिखाई जाती है.
Roads API से मिली, गति सीमा की जानकारी के सटीक होने की गारंटी नहीं दी जा सकती. गति सीमा का डेटा रीयल-टाइम में नहीं दिया जाता है. यह अनुमानित, गलत, अधूरा या पुराना हो सकता है. कवरेज की जानकारी देखें. इससे आपको पता चलेगा कि रफ़्तार की सीमा से जुड़ा डेटा किन इलाकों में उपलब्ध है.
अनुरोध
एचटीटीपीएस का इस्तेमाल करके, स्पीड लिमिट के लिए इस तरह अनुरोध भेजें:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
पैरामीटर के इस्तेमाल से जुड़ी जानकारी
ज़रूरी पैरामीटर
path
याplaceId
पैरामीटर.path
— यह अक्षांश/देशांतर के 100 जोड़ों की सूची होती है. यह किसी पाथ को दिखाती है. अक्षांश और देशांतर की वैल्यू को कॉमा लगाकर अलग किया जाना चाहिए. अक्षांश/देशांतर के जोड़े को पाइप वर्ण "|" से अलग किया जाना चाहिए.path
पैरामीटर की वैल्यू देने पर, एपीआई सबसे पहले पाथ को उस सड़क पर स्नैप करता है जिस पर किसी वाहन के चलने की सबसे ज़्यादा संभावना होती है. ऐसा वहsnapToRoads
अनुरोध के लिए भी करता है. इसके बाद, वह सड़क के उस सेगमेंट के लिए स्पीड लिमिट तय करता है. अगर आपको एपीआई से पाथ को स्नैप नहीं करना है, तो आपकोplaceId
पैरामीटर पास करना होगा. इसके बारे में यहां बताया गया है. यहां दिए गए उदाहरण में, तीन अक्षांश/देशांतर जोड़े के साथpath
पैरामीटर दिखाया गया है:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
.placeId
— एक या उससे ज़्यादा सड़क के सेगमेंट को दिखाने वाले प्लेस आईडी. पक्का करें कि हर जगह का आईडी, सड़क के किसी हिस्से का हो, न कि किसी दूसरी तरह की जगह का. हर अनुरोध के साथ, ज़्यादा से ज़्यादा 100 जगह के आईडी पास किए जा सकते हैं. एपीआई, दिए गए जगह के आईडी पर रोड-स्नैपिंग की सुविधा लागू नहीं करता. जवाब में, अनुरोध में शामिल हर जगह के आईडी के लिए स्पीड लिमिट शामिल होती है. जगह के आईडी ढूंढने के लिए,snapToRoads
याnearestRoads
अनुरोध भेजा जा सकता है. इसके बाद, इन आईडी कोspeedLimits
अनुरोध के इनपुट के तौर पर इस्तेमाल किया जा सकता है. यहां दिए गए उदाहरण में, दो प्लेस आईडी के साथplaceId
पैरामीटर दिखाया गया है:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
— आपके ऐप्लिकेशन का एपीआई पासकोड. आपके ऐप्लिकेशन को हर बार अपनी पहचान बतानी होगी, जब वह Roads API को कोई अनुरोध भेजता है. इसके लिए, हर अनुरोध में एक एपीआई पासकोड शामिल करना होगा. कुंजी पाने का तरीका जानें.
ज़रूरी नहीं पैरामीटर
units
— इससे यह तय किया जाता है कि रफ़्तार की सीमाएं किलोमीटर या मील प्रति घंटे में दिखानी हैं या नहीं. इसेKPH
याMPH
पर सेट किया जा सकता है. यह डिफ़ॉल्ट रूप सेKPH
पर सेट होता है.
जवाब
speedLimits
के जवाब में ये एलिमेंट मौजूद हो सकते हैं:
speedLimits
— सड़क के मेटाडेटा का एक कलेक्शन. हर एलिमेंट में ये फ़ील्ड शामिल होते हैं:placeId
— किसी जगह के लिए यूनीक आइडेंटिफ़ायर. Roads API से मिले सभी प्लेस आईडी, सड़क के सेगमेंट से मेल खाएंगे.speedLimit
— सड़क के उस हिस्से के लिए गति सीमा.units
— यह फ़ंक्शन,KPH
याMPH
में से कोई एक वैल्यू दिखाता है.
snappedPoints
— स्नैप किए गए पॉइंट का कलेक्शन. यह कलेक्शन सिर्फ़ तब मौजूद होता है, जब अनुरोध मेंpath
पैरामीटर शामिल किया गया हो. हर पॉइंट में ये फ़ील्ड शामिल होते हैं:location
— इसमेंlatitude
औरlongitude
वैल्यू शामिल होती है.originalIndex
— यह एक पूर्णांक होता है. इससे मूल अनुरोध में मौजूद वैल्यू का पता चलता है. अनुरोध में मौजूद हर वैल्यू, जवाब में मौजूद स्नैप की गई वैल्यू से मैप होनी चाहिए. इन वैल्यू को0
से इंडेक्स किया जाता है. इसलिए,4
केoriginalIndex
वाला पॉइंट,path
पैरामीटर को पास किए गए पांचवें अक्षांश/देशांतर की स्नैप की गई वैल्यू होगी.placeId
— किसी जगह के लिए यूनीक आइडेंटिफ़ायर. Roads API से मिले सभी प्लेस आईडी, सड़क के सेगमेंट से मेल खाएंगे.placeId
को गति सीमा के अनुरोध में पास किया जा सकता है, ताकि सड़क के उस सेगमेंट के लिए गति सीमा तय की जा सके.
warning_message
— यह एक स्ट्रिंग है, जिसमें उपयोगकर्ता को दिखने वाली चेतावनी शामिल होती है.
पाथ का इस्तेमाल करके किए गए अनुरोध का उदाहरण
इस अनुरोध में, पुर्तगाल के लिस्बन में वास्को द गामा ब्रिज को पार करने वाले रास्ते में मौजूद अक्षांश/देशांतर के जोड़े के सबसे नज़दीकी सड़क सेगमेंट के लिए स्पीड लिमिट की जानकारी मिलती है.
अनुरोध
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY
जवाब
{ 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." }
ऊपर दिए गए जवाब में, पॉइंट स्पार्सिटी के लिए चेतावनी वाला मैसेज देखें. अगर आपको किसी भी पॉइंट पर, आस-पास के सड़क सेगमेंट के लिए रफ़्तार की सीमा के बारे में जानकारी चाहिए, तो आपको nearestRoads
एंडपॉइंट से मिले प्लेस आईडी के साथ speedLimits
को कॉल करना होगा.
जगह के आईडी का इस्तेमाल करके किए गए अनुरोध का उदाहरण
अक्षांश/देशांतर के जोड़े इस्तेमाल करने के बजाय, सड़क के सेगमेंट के प्लेस आईडी पास किए जा सकते हैं. हमारा सुझाव है कि सड़क के सेगमेंट के लिए जगह के आईडी पाने के लिए, snapToRoads
या nearestRoads
अनुरोधों का इस्तेमाल करें. जगह के आईडी पास करने पर, एपीआई हर जगह के आईडी से दिखाए गए सड़क के सेगमेंट के लिए, गति सीमा की जानकारी देता है. यह एपीआई, दिए गए जगह के आईडी पर रोड-स्नैपिंग लागू नहीं करता.
यहां दिए गए उदाहरण में, पुर्तगाल के लिस्बन में वास्को द गामा ब्रिज को पार करने वाले सड़क के कुछ हिस्सों के लिए, गति सीमा की जानकारी का अनुरोध किया गया है.
अनुरोध
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
जवाब
{ "speedLimits": [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ] }
इस्तेमाल से जुड़े सुझाव
हमारा सुझाव है कि आप अपनी ऐसेट की जगहों की जानकारी को हर 5 से 15 मिनट के अंतराल पर सैंपल करें, ताकि स्पीड लिमिट सेवा को कम से कम कॉल करने पड़ें. सटीक वैल्यू इस बात पर निर्भर करती है कि ऐसेट किस स्पीड से चल रही है. अगर कोई ऐसेट एक ही जगह पर है, तो उसके लिए एक ही लोकेशन सैंपल काफ़ी है. इसके लिए, कई बार कॉल करने की ज़रूरत नहीं है.
कुल लेटेन्सी को कम करने के लिए, हमारा सुझाव है कि कुछ डेटा इकट्ठा होने के बाद, स्पीड लिमिट सेवा को कॉल करें. ऐसा हर बार मोबाइल ऐसेट की जगह की जानकारी मिलने पर एपीआई को कॉल करने के बजाय करें.
रफ़्तार की कुछ/सभी सीमाएं क्यों नहीं दिख रही हैं?
speedLimits
के मौजूद न होने की सबसे आम वजह यह है कि सड़क के किसी हिस्से के बजाय, किसी ऐसी जगह के लिए गति सीमा का अनुरोध किया गया हो जो सड़क का हिस्सा नहीं है.
ऊपर दिए गए उदाहरण में, वास्को डि गामा ब्रिज का इस्तेमाल करके कॉन्सेप्ट दिखाए गए हैं. यह ब्रिज, रियो तेजो नदी के ऊपर से गुज़रने वाली सड़क E90 को सपोर्ट करता है. इस पुल का प्लेस आईडी ChIJUzt97ZEwGQ0RM1JzQfqoDtU है. ऊपर दिए गए जवाब में मौजूद सड़क का पहला सेगमेंट, E90 सड़क का हिस्सा है. इसका प्लेस आईडी, ChIJX12duJAwGQ0Ra0d4Oi4jOGE है. अनुरोध के उदाहरण में, अगर सड़क की जगह के आईडी को पुल की जगह के आईडी से बदल दिया जाता है, तो जवाब में speedLimits
ऐरे में सिर्फ़ दो स्पीड लिमिट होंगी. ऐसा इसलिए, क्योंकि पुल की जगह का आईडी, सड़क के किसी एक सेगमेंट को नहीं दिखाता है. इसके अलावा, अगर कोई भी प्लेस आईडी सड़क के सेगमेंट के लिए नहीं है, तो जवाब में गति सीमा की जानकारी नहीं होगी.
जगह के आईडी का इस्तेमाल करके, गति सीमा के अनुरोध करते समय पक्का करें कि हर जगह का आईडी, सड़क के किसी हिस्से का हो, न कि किसी दूसरी तरह की जगह का. सड़क के अलग-अलग हिस्सों के प्लेस आईडी पाने के लिए, snapToRoads
या nearestRoads
अनुरोधों का इस्तेमाल करना सबसे अच्छा होता है. इनमें से कोई भी अनुरोध, एक ही कॉल में कई प्लेस आईडी दिखा सकता है.