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." }
ऊपर दिए गए जवाब में पॉइंट स्पार्सिटी के लिए चेतावनी वाले मैसेज पर ध्यान दें. अगर आपको नज़दीकी सड़क के सेगमेंट के लिए, आर्बिट्रेरी पॉइंट पर स्पीड की सीमाओं का अनुरोध करना है, तो आपको speedLimits
को कॉल करना होगा. ऐसा करने के लिए, nearestRoads
एंडपॉइंट से मिले प्लेस आईडी का इस्तेमाल करें.
जगह के आईडी इस्तेमाल करने के अनुरोध का उदाहरण
अक्षांश/देशांतर जोड़े का इस्तेमाल करने के बजाय, सड़क के सेगमेंट के जगह के आईडी पास किए जा सकते हैं. हमारा सुझाव है कि आप 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
अनुरोधों का इस्तेमाल करके बेहतर तरीके से वापस पाए जाते हैं. इनमें से कोई भी एक कॉल से कई जगह का आईडी दे सकता है.