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=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 सिर्फ़ कारों के लिए पोस्ट की गई ज़्यादा से ज़्यादा स्पीड लिमिट की जानकारी देता है.