Roads API दिए गए सड़क के सेगमेंट के लिए पोस्ट की गई स्पीड लिमिट की जानकारी देता है. सड़क के ऐसे सेगमेंट जिनकी स्पीड लिमिट अलग-अलग हो सकती है उनके लिए, डिफ़ॉल्ट स्पीड लिमिट की जानकारी दी जाती है.
Roads API से मिली स्पीड लिमिट के डेटा के सटीक होने की गारंटी नहीं दी जा सकती. उपलब्ध कराया गया स्पीड लिमिट का डेटा, रीयल-टाइम नहीं होता. यह अनुमानित, गलत, अधूरा या पुराना हो सकता है. कवरेज की जानकारी देखें, ताकि यह पता चल सके कि किन इलाकों में स्पीड लिमिट का डेटा उपलब्ध है.
अनुरोध
स्पीड लिमिट की जानकारी पाने के लिए, HTTPS का इस्तेमाल करके इस फ़ॉर्मैट में अनुरोध भेजें:
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=ChIJs5ydyTiuEmsR0fRSlU0C7k0&placeId=ChIJW__r4ERXzpQRgkeRL6P0m3Y
key— आपके ऐप्लिकेशन की एपीआई कुंजी. आपका ऐप्लिकेशन, Roads API को हर अनुरोध भेजते समय, अपनी पहचान ज़ाहिर करे. इसके लिए, हर अनुरोध के साथ एपीआई कुंजी शामिल करें. कुंजी पाने का तरीका जानें.
वैकल्पिक पैरामीटर
units— स्पीड लिमिट की जानकारी किलोमीटर या मील प्रति घंटा में दिखानी है या नहीं. इसेKPHयाMPHपर सेट किया जा सकता है. डिफ़ॉल्ट रूप से, यहKPHपर सेट होता है.
जवाब
speedLimits के जवाब में ये एलिमेंट शामिल हो सकते हैं:
speedLimits— सड़क के मेटाडेटा का कलेक्शन. हर एलिमेंट में ये फ़ील्ड शामिल होते हैं:placeId— किसी जगह के लिए यूनीक आइडेंटिफ़ायर. Roads API से मिले सभी जगह के आईडी, सड़क के सेगमेंट से जुड़े होंगे.Roads APIspeedLimit— सड़क के उस सेगमेंट के लिए स्पीड लिमिट.units—KPHयाMPHमें से कोई एक वैल्यू दिखाता है.
snappedPoints— स्नैप किए गए पॉइंट का कलेक्शन. यह कलेक्शन सिर्फ़ तब दिखता है, जब अनुरोध मेंpathपैरामीटर शामिल हो. हर पॉइंट में ये फ़ील्ड शामिल होते हैं:location— इसमेंlatitudeऔरlongitudeकी वैल्यू शामिल होती है.originalIndex— एक पूर्णांक, जो मूल अनुरोध में मौजूद वैल्यू को दिखाता है. अनुरोध में मौजूद हर वैल्यू, जवाब में स्नैप की गई वैल्यू से मैप होनी चाहिए. इन वैल्यू को0से इंडेक्स किया जाता है. इसलिए,originalIndexकी वैल्यू4वाला पॉइंट,pathपैरामीटर को पास किए गए पांचवें अक्षांश/देशांतर की स्नैप की गई वैल्यू होगी.placeId— किसी जगह के लिए यूनीक आइडेंटिफ़ायर. Roads API से मिले सभी जगह के आईडी, सड़क के सेगमेंट से जुड़े होंगे.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 के अनुरोधों का इस्तेमाल किया जाए. इनमें से किसी भी अनुरोध को एक बार कॉल करने पर, जगह के कई आईडी मिल सकते हैं.
अगर सड़क के किसी सेगमेंट के लिए, कार और ट्रक की अलग-अलग स्पीड लिमिट पोस्ट की जाती हैं, तो क्या होगा?
Roads API सिर्फ़ कारों के लिए पोस्ट की गई ज़्यादा से ज़्यादा स्पीड लिमिट की जानकारी देता है.