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
अनुरोधों का इस्तेमाल करके वापस पाया जा सकता है. इनमें से कोई भी एक ही कॉल से कई जगह के आईडी दिखा सकता है.