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