परिचय
Distance Matrix API (लेगसी) का अनुरोध इस तरह का होता है:
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
यहां outputFormat इनमें से कोई भी वैल्यू हो सकती है:
json(सुझाया गया) से पता चलता है कि आउटपुट, JavaScript Object Notation (JSON) में है.xmlसे पता चलता है कि आउटपुट एक्सएमएल के तौर पर है.
कुछ पैरामीटर ज़रूरी होते हैं, जबकि कुछ ज़रूरी नहीं होते हैं. यूआरएल में स्टैंडर्ड के तौर पर, सभी पैरामीटर को एंपरसैंड (&) वर्ण का इस्तेमाल करके अलग किया जाता है. सभी रिज़र्व किए गए वर्णों (उदाहरण के लिए, प्लस का निशान "+") को यूआरएल-कोड में बदला जाना चाहिए. पैरामीटर और उनकी संभावित वैल्यू की सूची यहां दी गई है.
ज़रूरी पैरामीटर
-
डेस्टिनेशन
एक या उससे ज़्यादा ऐसी जगहें जिन्हें यात्रा की दूरी और समय का हिसाब लगाने के लिए, आखिरी पॉइंट के तौर पर इस्तेमाल किया जा सकता है. डेस्टिनेशन पैरामीटर के विकल्प, ओरिजिन पैरामीटर के विकल्पों के जैसे ही होते हैं.
-
ओरिजन
यात्रा की दूरी और समय का हिसाब लगाने के लिए शुरुआती पॉइंट. पाइप वर्ण (|) से अलग करके, एक या उससे ज़्यादा जगहों की जानकारी दी जा सकती है. यह जानकारी, जगह के आईडी, पते या अक्षांश/देशांतर के निर्देशांक के तौर पर दी जा सकती है:
-
जगह का आईडी: अगर आपको जगह का आईडी देना है, तो आपको इसके पहले
place_id:जोड़ना होगा. -
पता: अगर आपने कोई पता पास किया है, तो सेवा उस स्ट्रिंग को जियोकोड करती है और दूरी का हिसाब लगाने के लिए, उसे अक्षांश/देशांतर के निर्देशांक में बदल देती है. यह कोऑर्डिनेट, Geocoding API से मिले कोऑर्डिनेट से अलग हो सकता है. उदाहरण के लिए, किसी इमारत के बीच के हिस्से के बजाय, उसके प्रवेश द्वार का कोऑर्डिनेट.
ध्यान दें: पते या अक्षांश/देशांतर निर्देशांकों के बजाय, जगह के आईडी का इस्तेमाल करना बेहतर होता है. निर्देशांकों का इस्तेमाल करने पर, पॉइंट हमेशा उन निर्देशांकों के सबसे नज़दीकी सड़क पर स्नैप हो जाएगा. ऐसा हो सकता है कि यह सड़क, प्रॉपर्टी का ऐक्सेस पॉइंट न हो या ऐसी सड़क हो जो आपको मंज़िल तक जल्दी या सुरक्षित तरीके से न पहुंचाए. पते का इस्तेमाल करने से, इमारत के बीच की दूरी का पता चलेगा. हालांकि, इमारत के प्रवेश द्वार की दूरी का पता नहीं चलेगा.
- निर्देशांक: अक्षांश/देशांतर के निर्देशांक पास करने पर, वे सबसे नज़दीकी सड़क पर स्नैप हो जाएंगे. प्लेस आईडी पास करने का सुझाव दिया जाता है. अगर आपको निर्देशांक पास करने हैं, तो पक्का करें कि अक्षांश और देशांतर की वैल्यू के बीच कोई खाली जगह न हो.
-
प्लस कोड को ग्लोबल कोड या कंपाउंड कोड के तौर पर फ़ॉर्मैट किया जाना चाहिए. प्लस कोड को यहां दिखाए गए फ़ॉर्मैट में लिखें. प्लस के निशान, यूआरएल के लिए कोड में बदलकर %2B और स्पेस, यूआरएल के लिए कोड में बदलकर %20 में बदल दिए जाते हैं:
-
ग्लोबल कोड, चार वर्णों का एरिया कोड और छह या इससे ज़्यादा वर्णों का लोकल कोड होता है (
849VCWC8+R9को849VCWC8%2BR9के तौर पर कोड किया जाता है). -
कंपाउंड कोड, छह या इससे ज़्यादा वर्णों वाला लोकल कोड होता है. इसमें साफ़ तौर पर जगह की जानकारी दी जाती है (
CWC8+R9 Mountain View, CA, USAकोCWC8%2BR9%20Mountain%20View%20CA%20USAके तौर पर कोड किया जाता है).
-
ग्लोबल कोड, चार वर्णों का एरिया कोड और छह या इससे ज़्यादा वर्णों का लोकल कोड होता है (
-
एन्कोड की गई पॉलीलाइन इसके अलावा, एन्कोड की गई पॉलीलाइन एल्गोरिदम का इस्तेमाल करके, एन्कोड किए गए कोऑर्डिनेट का सेट भी दिया जा सकता है. अगर आपके पास कई ऑरिजिन पॉइंट हैं, तो यह तरीका आपके लिए खास तौर पर फ़ायदेमंद है. ऐसा इसलिए, क्योंकि एन्कोड की गई पॉलीलाइन का इस्तेमाल करने पर यूआरएल काफ़ी छोटा हो जाता है.
-
कोड में बदली गई पॉलीलाइन की शुरुआत
enc:से होनी चाहिए. इसके बाद, कोलन:होना चाहिए. उदाहरण के लिए:origins=enc:gfo}EtohhU: -
आपके पास एक से ज़्यादा कोड में बदली गई पॉलीलाइन शामिल करने का विकल्प भी होता है. इन्हें पाइप वर्ण
|से अलग किया जाता है. उदाहरण के लिए:origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
-
कोड में बदली गई पॉलीलाइन की शुरुआत
-
जगह का आईडी: अगर आपको जगह का आईडी देना है, तो आपको इसके पहले
ज़रूरी नहीं पैरामीटर
-
arrival_time
यह विकल्प, ट्रांज़िट के निर्देशों के लिए पहुंचने का पसंदीदा समय बताता है. यह समय, 1 जनवरी, 1970 को आधी रात के बाद से सेकंड में होता है.
departure_timeयाarrival_timeमें से किसी एक को तय किया जा सकता है, लेकिन दोनों को नहीं. ध्यान दें किarrival_timeको पूर्णांक के तौर पर तय किया जाना चाहिए. -
बचना
दूरी का हिसाब लगाते समय, कुछ पाबंदियों का पालन किया जा सकता है. पाबंदियों के बारे में, avoid पैरामीटर का इस्तेमाल करके बताया जाता है. साथ ही, इस पैरामीटर के लिए एक ऐसा तर्क दिया जाता है जिससे यह पता चलता है कि किस पाबंदी से बचना है. इन पाबंदियों को लागू किया जा सकता है:
-
tollsसे पता चलता है कि कैलकुलेट किए गए रास्ते में टोल वाली सड़कें/पुल शामिल नहीं होने चाहिए. -
highwaysसे पता चलता है कि कैलकुलेट किए गए रास्ते में हाइवे शामिल नहीं होने चाहिए. -
ferriesसे पता चलता है कि कैलकुलेट किए गए रास्ते में फ़ेरी शामिल नहीं होनी चाहिए. -
indoorसे पता चलता है कि कैलकुलेट किए गए रूट में, पैदल चलने और सार्वजनिक परिवहन की दिशाओं के लिए, घर के अंदर की सीढ़ियों से बचने का विकल्प शामिल होना चाहिए.
टोल, हाइवे, और फ़ेरी वाले रास्तों से बचने के लिए, एक साथ कई अनुरोध किए जा सकते हैं. इसके लिए, avoid पैरामीटर में दोनों पाबंदियां पास करें. उदाहरण के लिए,
avoid=tolls|highways|ferries.ध्यान दें: पाबंदियां जोड़ने से, उन रास्तों को बाहर नहीं रखा जाता जिनमें प्रतिबंधित सुविधा शामिल है. इससे नतीजे, ज़्यादा फ़ायदेमंद रास्तों के हिसाब से मिलते हैं. -
-
departure_time
यह कुकी, यात्रा शुरू करने का पसंदीदा समय तय करती है. समय को पूर्णांक के तौर पर बताया जा सकता है. यह पूर्णांक, 1 जनवरी, 1970 को आधी रात के बाद से गुज़रे सेकंड की संख्या होती है. अगर 9999-12-31T23:59:59.999999999Z के बाद की
departure_timeतय की जाती है, तो एपीआईdeparture_timeको 9999-12-31T23:59:59.999999999Z पर वापस सेट कर देगा. इसके अलावा, अब की वैल्यू भी दी जा सकती है. इससे, रवाना होने का समय मौजूदा समय पर सेट हो जाता है. यह समय, सेकंड के हिसाब से सटीक होता है. रवानगी का समय दो मामलों में बताया जा सकता है:-
अगर यात्रा का मोड ट्रांज़िट है, तो अनुरोधों के लिए: आपके पास
departure_timeयाarrival_timeमें से किसी एक को वैकल्पिक तौर पर तय करने का विकल्प होता है. अगर दोनों में से कोई भी समय नहीं दिया गया है, तोdeparture_timeकी डिफ़ॉल्ट वैल्यू, अभी का समय होती है. इसका मतलब है कि डिफ़ॉल्ट रूप से, रवाना होने का समय मौजूदा समय होता है. -
ड्राइविंग मोड में यात्रा के अनुरोधों के लिए:
departure_timeपैरामीटर का इस्तेमाल करके, ट्रैफ़िक की स्थिति को ध्यान में रखकर रूट और यात्रा की अवधि (जवाब वाला फ़ील्ड: duration_in_traffic) का अनुरोध किया जा सकता है.departure_timeको मौजूदा समय या आने वाले समय के लिए सेट किया जाना चाहिए. यह बीते हुए समय की नहीं हो सकती.
ध्यान दें: अगर यात्रा शुरू करने का समय नहीं दिया गया है, तो रूट और अवधि का चुनाव, सड़क नेटवर्क और समय से अलग ट्रैफ़िक की सामान्य स्थितियों के आधार पर किया जाता है. सड़क नेटवर्क में बदलाव, ट्रैफ़िक की औसत स्थितियों के अपडेट होने, और सेवा के डिस्ट्रिब्यूटेड नेचर की वजह से, किसी अनुरोध के नतीजे समय के साथ अलग-अलग हो सकते हैं. लगभग एक जैसे रास्तों के लिए, नतीजे किसी भी समय या फ़्रीक्वेंसी के हिसाब से अलग-अलग हो सकते हैं.ध्यान दें: Distance Matrix API के उन अनुरोधों में, हर अनुरोध के लिए ज़्यादा से ज़्यादा 100 एलिमेंट शामिल किए जा सकते हैं जिनमेंdeparture_timewhenmode=drivingपैरामीटर का इस्तेमाल किया गया हो. ओरिजन की संख्या को डेस्टिनेशन की संख्या से गुणा करने पर, एलिमेंट की संख्या मिलती है. -
अगर यात्रा का मोड ट्रांज़िट है, तो अनुरोधों के लिए: आपके पास
-
भाषा
वह भाषा जिसमें नतीजे दिखाने हैं.
- इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google, इस सुविधा के लिए उपलब्ध भाषाओं को अक्सर अपडेट करता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी शामिल न हो.
-
अगर
languageनहीं दिया जाता है, तो एपीआई,Accept-Languageहेडर में बताई गई पसंदीदा भाषा का इस्तेमाल करने की कोशिश करता है. - एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को पूरा करने के लिए, यह स्थानीय भाषा में सड़क के पते दिखाता है. अगर ज़रूरी हो, तो यह उपयोगकर्ता की पसंदीदा भाषा में पते को लिप्यंतरित भी करता है. अन्य सभी पते, चुनी गई भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट, एक ही भाषा में दिखाए जाते हैं. यह भाषा, पहले कॉम्पोनेंट से चुनी जाती है.
- अगर नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिले नतीजों के सेट और उनके क्रम पर पड़ता है. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए इस्तेमाल किए गए शॉर्ट फ़ॉर्म या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, हंगेरियन भाषा में utca और tér, सड़क के लिए इस्तेमाल होने वाले समानार्थी शब्द हैं.
-
मोड
दूरी और दिशाओं का हिसाब लगाने के लिए, परिवहन के साधन के बारे में बताया जा सकता है. डिफ़ॉल्ट रूप से,
DRIVINGमोड का इस्तेमाल किया जाता है. डिफ़ॉल्ट रूप से, दिशा-निर्देशों को ड्राइविंग के दिशा-निर्देशों के तौर पर कैलकुलेट किया जाता है. यात्रा के इन तरीकों के लिए, यह सुविधा काम करती है:-
driving(डिफ़ॉल्ट) से सड़क नेटवर्क का इस्तेमाल करके, ड्राइविंग के लिए सामान्य दिशा-निर्देश या दूरी का पता चलता है. -
walkingपैदल चलने के लिए दिशा-निर्देश या दूरी का अनुरोध करता है. इसके लिए, पैदल चलने के रास्ते और फ़ुटपाथ (जहां उपलब्ध हों) का इस्तेमाल किया जाता है. -
bicyclingसाइकल से यात्रा करने के लिए, साइकल के रास्तों और पसंदीदा सड़कों (जहां उपलब्ध हो) का इस्तेमाल करके दिशा-निर्देश या दूरी का अनुरोध करता है. -
transitसार्वजनिक परिवहन के रास्तों का इस्तेमाल करके, दिशा-निर्देश या दूरी का अनुरोध करता है (जहां यह सुविधा उपलब्ध है). अगर आपने मोड को ट्रांज़िट पर सेट किया है, तो आपके पासdeparture_timeयाarrival_timeमें से किसी एक को तय करने का विकल्प होता है. अगर दोनों में से कोई भी समय नहीं दिया गया है, तोdeparture_timeकी डिफ़ॉल्ट वैल्यू 'अभी' होती है. इसका मतलब है कि रवाना होने का समय, डिफ़ॉल्ट रूप से मौजूदा समय पर सेट होता है. आपके पासtransit_modeऔर/याtransit_routing_preferenceको शामिल करने का विकल्प भी होता है.
ध्यान दें: पैदल चलने और साइकिल चलाने के लिए दिए गए निर्देशों में, कभी-कभी पैदल चलने या साइकिल चलाने के रास्ते की साफ़ जानकारी शामिल नहीं होती. इसलिए, इन निर्देशों के जवाब में चेतावनियां दिखेंगी. आपको ये चेतावनियां उपयोगकर्ता को दिखानी होंगी.ध्यान दें: ट्रांज़िट यात्राओं की जानकारी, पिछले सात दिनों या आने वाले 100 दिनों तक के लिए उपलब्ध होती है. हालांकि, यह जानकारी डेटा उपलब्ध कराने वाली कंपनियों से मिली जानकारी के आधार पर उपलब्ध होती है. ट्रांज़िट के शेड्यूल में अक्सर बदलाव होता रहता है. साथ ही, ट्रांज़िट की उपलब्ध यात्राओं में समय के साथ बदलाव हो सकता है. इसके अलावा, बहुत पहले से किए गए अनुमानों के लिए, लगातार एक जैसे नतीजे मिलने की कोई गारंटी नहीं है. -
-
प्रांत
क्षेत्र का कोड, ccTLD ("टॉप लेवल डोमेन") के तौर पर दिया जाता है. इसकी वैल्यू दो वर्णों की होती है. ज़्यादातर ccTLD कोड, आईएसओ 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ अपवाद भी हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यह "ग्रेट ब्रिटेन और उत्तरी आयरलैंड का यूनाइटेड किंगडम" के लिए है.
-
traffic_model
ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय इस्तेमाल की जाने वाली मान्यताओं के बारे में बताता है. इस सेटिंग से, जवाब में duration_in_traffic फ़ील्ड में दिखाई गई वैल्यू पर असर पड़ता है. इस फ़ील्ड में, ट्रैफ़िक में लगने वाले अनुमानित समय की जानकारी होती है. यह जानकारी, पुराने डेटा के आधार पर तय की जाती है.
traffic_modelपैरामीटर सिर्फ़ उन ड्राइविंग दिशा-निर्देशों के लिए तय किया जा सकता है जिनमें अनुरोध मेंdeparture_timeशामिल हो. इस पैरामीटर के लिए उपलब्ध वैल्यू ये हैं:-
best_guess(डिफ़ॉल्ट) से पता चलता है कि जवाब में मिली duration_in_traffic वैल्यू, यात्रा में लगने वाले समय का सबसे सटीक अनुमान होना चाहिए. यह अनुमान, ट्रैफ़िक की पुरानी स्थितियों और मौजूदा ट्रैफ़िक, दोनों के बारे में मिली जानकारी के आधार पर लगाया जाना चाहिए. लाइव ट्रैफ़िक की जानकारी,departure_timeके मौजूदा समय के जितना करीब होगी उतनी ही ज़्यादा सटीक होगी. -
pessimisticसे पता चलता है कि ट्रैफ़िक में लगने वाला समय, ज़्यादातर दिनों में यात्रा के असल समय से ज़्यादा होना चाहिए. हालांकि, कभी-कभी ट्रैफ़िक की स्थिति बहुत खराब होने पर, यह वैल्यू इससे ज़्यादा हो सकती है. -
optimisticसे पता चलता है कि ट्रैफ़िक में लगने वाला समय, ज़्यादातर दिनों में यात्रा के कुल समय से कम होना चाहिए. हालांकि, कभी-कभी ट्रैफ़िक की स्थिति अच्छी होने पर, यह वैल्यू कम हो सकती है.
best_guessकी डिफ़ॉल्ट वैल्यू से, इस्तेमाल के ज़्यादातर उदाहरणों के लिए सबसे काम के अनुमान मिलेंगे. ऐसा हो सकता है किbest_guessमें यात्रा में लगने वाला समय,optimisticसे कम हो याpessimisticसे ज़्यादा हो. ऐसा इसलिए होता है, क्योंकिbest_guessका अनुमान लगाने वाला मॉडल, लाइव ट्रैफ़िक की जानकारी को इंटिग्रेट करता है. -
-
transit_mode
इसमें यात्रा के एक या उससे ज़्यादा पसंदीदा तरीकों के बारे में बताया जाता है. इस पैरामीटर को सिर्फ़ सार्वजनिक परिवहन से जुड़ी दिशाओं के लिए तय किया जा सकता है. यह पैरामीटर, इन तर्कों के साथ काम करता है:
-
busसे पता चलता है कि कैलकुलेट किए गए रास्ते में बस से यात्रा करने को प्राथमिकता दी जानी चाहिए. -
subwayसे पता चलता है कि कैलकुलेट किए गए रास्ते में, सबवे से यात्रा करने को प्राथमिकता दी जानी चाहिए. -
trainसे पता चलता है कि कैलकुलेट किए गए रास्ते में ट्रेन से यात्रा करने को प्राथमिकता दी जानी चाहिए. -
tramसे पता चलता है कि कैलकुलेट किए गए रूट में, ट्रैम और लाइट रेल से यात्रा करने को प्राथमिकता दी जानी चाहिए. -
railसे पता चलता है कि कैलकुलेट किए गए रास्ते में ट्रेन, ट्राम, लाइट रेल, और सबवे से यात्रा करने को प्राथमिकता दी जानी चाहिए. यहtransit_mode=train|tram|subwayके बराबर है.
-
-
transit_routing_preference
सार्वजनिक परिवहन के रूट के लिए प्राथमिकताएं तय करता है. इस पैरामीटर का इस्तेमाल करके, एपीआई की ओर से चुने गए सबसे अच्छे डिफ़ॉल्ट रास्ते को स्वीकार करने के बजाय, लौटाए गए विकल्पों को प्राथमिकता दी जा सकती है. इस पैरामीटर को सिर्फ़ सार्वजनिक परिवहन के दिशा-निर्देशों के लिए तय किया जा सकता है. यह पैरामीटर, इन तर्कों के साथ काम करता है:
-
less_walkingसे पता चलता है कि कैलकुलेट किए गए रास्ते में पैदल चलने की दूरी कम होनी चाहिए. -
fewer_transfersसे पता चलता है कि कैलकुलेट किए गए रास्ते में, वाहन बदलने की संख्या कम होनी चाहिए.
-
-
इकाइयां
नतीजे दिखाते समय, इस्तेमाल किए जाने वाले यूनिट सिस्टम के बारे में बताता है.
ध्यान दें: इकाई सिस्टम की इस सेटिंग का असर सिर्फ़ दूरी वाले फ़ील्ड में दिखने वाले टेक्स्ट पर पड़ता है. दूरी वाले फ़ील्ड में ऐसी वैल्यू भी होती हैं जिन्हें हमेशा मीटर में दिखाया जाता है.
अनुरोध के उदाहरण
इस उदाहरण में, डेस्टिनेशन के निर्देशांकों के बारे में बताने के लिए अक्षांश/देशांतर निर्देशांकों का इस्तेमाल किया गया है:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626 &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=YOUR_API_KEY'
इस उदाहरण में, डेस्टिनेशन के निर्देशांकों के बारे में बताने के लिए प्लस कोड का इस्तेमाल किया गया है:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco &origins=849VCWC8%2BR9 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=849VCWC8%2BR9&destinations=San%20Francisco&key=YOUR_API_KEY'
इस उदाहरण में, एन्कोड की गई पॉलीलाइन का इस्तेमाल करके एक ही अनुरोध दिखाया गया है:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A&key=YOUR_API_KEY'
ट्रैफ़िक जानकारी
ट्रैफ़िक की जानकारी का इस्तेमाल तब किया जाता है, जब ये सभी शर्तें पूरी होती हैं. ये शर्तें, Distance Matrix API के जवाब में duration_in_traffic फ़ील्ड पाने के लिए ज़रूरी हैं:
- यात्रा का
modeपैरामीटरdrivingहै या इसके बारे में नहीं बताया गया है (drivingयात्रा का डिफ़ॉल्ट मोड है). - अनुरोध में मान्य
departure_timeपैरामीटर शामिल है.departure_timeको मौजूदा समय या आने वाले समय के लिए सेट किया जा सकता है. यह बीते हुए समय की नहीं हो सकती.
आपके पास अपने अनुरोध में traffic_model पैरामीटर शामिल करने का विकल्प होता है. इससे यह तय किया जा सकता है कि ट्रैफ़िक में समय का हिसाब लगाते समय किन मान्यताओं का इस्तेमाल किया जाए.
यहां दिया गया यूआरएल, बोस्टन, मैसाचुसेट्स या चार्लस्टाउन, मैसाचुसेट्स और लेक्सिंग्टन, मैसाचुसेट्स और कॉनकॉर्ड, मैसाचुसेट्स के बीच ड्राइविंग की दूरी के लिए, दूरी मैट्रिक्स का अनुरोध शुरू करता है. अनुरोध में यात्रा शुरू करने का समय शामिल है. साथ ही, Distance Matrix API से मिले जवाब में duration_in_traffic फ़ील्ड की वैल्यू पाने के लिए, सभी ज़रूरी शर्तों को पूरा किया गया है.
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?departure_time=now &destinations=Lexington%2CMA%7CConcord%2CMA &origins=Boston%2CMA%7CCharlestown%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Boston%2CMA%7CCharlestown%2CMA&destinations=Lexington%2CMA%7CConcord%2CMA&departure_time=now&key=YOUR_API_KEY'
JSON
{ "destination_addresses": ["Lexington, MA, USA", "Concord, MA, USA"], "origin_addresses": ["Boston, MA, USA", "Charlestown, Boston, MA, USA"], "rows": [ { "elements": [ { "distance": { "text": "33.3 km", "value": 33253 }, "duration": { "text": "27 mins", "value": 1620 }, "duration_in_traffic": { "text": "34 mins", "value": 2019 }, "status": "OK", }, { "distance": { "text": "41.5 km", "value": 41491 }, "duration": { "text": "33 mins", "value": 1981 }, "duration_in_traffic": { "text": "39 mins", "value": 2342 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "31.1 km", "value": 31100 }, "duration": { "text": "26 mins", "value": 1543 }, "duration_in_traffic": { "text": "29 mins", "value": 1754 }, "status": "OK", }, { "distance": { "text": "39.3 km", "value": 39338 }, "duration": { "text": "32 mins", "value": 1904 }, "duration_in_traffic": { "text": "35 mins", "value": 2077 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Boston, MA, USA Charlestown, Boston, MA, USA Lexington, MA, USA Concord, MA, USA |
OK 1620 27 mins 33253 33.3 km 2018 34 mins OK 1981 33 mins 41491 41.5 km 2342 39 mins |
OK 1543 26 mins 31100 31.1 km 1759 29 mins OK 1904 32 mins 39338 39.3 km 2077 35 mins
जगह के हिसाब से मॉडिफ़ायर
जगह के हिसाब से मॉडिफ़ायर का इस्तेमाल करके, यह बताया जा सकता है कि ड्राइवर को किसी जगह पर कैसे पहुंचना चाहिए. इसके लिए, side_of_road मॉडिफ़ायर का इस्तेमाल करके यह तय किया जा सकता है कि सड़क के किस ओर से गाड़ी चलानी है. इसके अलावा, यात्रा की सही दिशा बताने के लिए हेडिंग तय की जा सकती है.
यह तय करना कि कैलकुलेट किए गए रास्ते, सड़क के किसी खास हिस्से से होकर गुज़रें
किसी जगह की जानकारी देते समय, अनुरोध किया जा सकता है कि कैलकुलेट किया गया रास्ता, सड़क के उस तरफ़ से होकर जाए जिस तरफ़ वेपॉइंट है. इसके लिए, side_of_road: प्रीफ़िक्स का इस्तेमाल करें. उदाहरण के लिए, इस अनुरोध से लंबे रास्ते की दूरी का पता चलेगा, ताकि वाहन सड़क के उस किनारे पर रुक सके जिस ओर वेपॉइंट को झुकाया गया था:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3A37.7663444%2C-122.4412006 &origins=37.7680296%2C-122.4375126 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=37.7680296%2C-122.4375126&destinations=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'
कोड में बदली गई पॉलीलाइन के साथ side_of_road: का इस्तेमाल करने पर, मॉडिफ़ायर को पॉलीलाइन के हर पॉइंट पर लागू किया जाता है. उदाहरण के लिए, इस अनुरोध में मौजूद दोनों डेस्टिनेशन, इस पैरामीटर का इस्तेमाल करते हैं:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A &origins=San%20Francisco%20City%20hall &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=San%20Francisco%20City%20hall&destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A&key=YOUR_API_KEY'
side_of_road: मॉडिफ़ायर का इस्तेमाल सिर्फ़ इस पाबंदी के साथ किया जा सकता है:
- यात्रा के लिए
modeपैरामीटर की वैल्यूdrivingहै या इसे सेट नहीं किया गया है (drivingयात्रा का डिफ़ॉल्ट मोड है).
यह तय करना कि कैलकुलेट किए गए रास्तों का हेडिंग क्या होना चाहिए
किसी जगह के बारे में बताते समय, यह अनुरोध किया जा सकता है कि कैलकुलेट किया गया रूट, किसी खास हेडिंग में मौजूद जगह से होकर जाए. इस हेडिंग को heading=X: प्रीफ़िक्स के साथ तय किया जाता है. इसमें X, 0 (को मिलाकर) और 360 (को छोड़कर) के बीच की पूर्णांक डिग्री वैल्यू होती है. हेडिंग 0 का मतलब उत्तर, 90 का मतलब पूर्व, और इसी तरह घड़ी की दिशा में आगे बढ़ते जाना है. उदाहरण के लिए, इस अनुरोध में कैलकुलेट किया गया रूट, ऑरिजिन से पूरब की ओर जाता है. इसके बाद, यू-टर्न लेता है:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=37.773245%2C-122.469502 &origins=heading%3D90%3A37.773279%2C-122.468780 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=heading%3D90%3A37.773279%2C-122.468780&destinations=37.773245%2C-122.469502&key=YOUR_API_KEY'
heading=X: मॉडिफ़ायर का इस्तेमाल सिर्फ़ इन पाबंदियों के साथ किया जा सकता है:
- यात्रा का
modeपैरामीटरdriving,bicyclingहै या इसे तय नहीं किया गया है (driving, यात्रा का डिफ़ॉल्ट मोड है). - एक ही जगह के लिए,
side_of_roadमॉडिफ़ायर सेट नहीं किया गया है. - जगह की जानकारी, अक्षांश/देशांतर की वैल्यू के साथ दी जाती है. पतों, प्लेस आईडी या एन्कोड की गई पॉलीलाइन के साथ
headingका इस्तेमाल नहीं किया जा सकता.
Distance Matrix API के अनुरोध और जवाब
नीचे एचटीटीपी अनुरोध का एक उदाहरण दिया गया है. इसमें वैंकूवर, ब्रिटिश कोलंबिया, कनाडा और सिएटल, वॉशिंगटन, अमेरिका से सैन फ़्रांसिस्को, कैलिफ़ोर्निया, अमेरिका और विक्टोरिया, ब्रिटिश कोलंबिया, कनाडा के बीच की दूरी और यात्रा में लगने वाले समय का अनुरोध किया गया है.
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco%7CVictoria%20BC &language=fr-FR &mode=bicycling &origins=Vancouver%20BC%7CSeattle &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver%20BC%7CSeattle&destinations=San%20Francisco%7CVictoria%20BC&mode=bicycling&language=fr-FR&key=YOUR_API_KEY'
इस अनुरोध से चार एलिमेंट मिलेंगे. इनमें दो ओरिजन और दो डेस्टिनेशन शामिल हैं:
| वैंकूवर से सैन फ़्रांसिस्को | वैंकूवर से विक्टोरिया |
| सिएटल से सैन फ़्रांसिस्को | सिएटल से विक्टोरिया |
नतीजे पंक्तियों में दिखाए जाते हैं. हर पंक्ति में एक ऑरिजिन होता है, जिसके साथ हर डेस्टिनेशन को जोड़ा जाता है.
JSON
{ "destination_addresses": ["San Francisco, Californie, États-Unis", "Victoria, BC, Canada"], "origin_addresses": ["Vancouver, BC, Canada", "Seattle, Washington, États-Unis"], "rows": [ { "elements": [ { "distance": { "text": "1 712 km", "value": 1711765 }, "duration": { "text": "3 jours 16 heures", "value": 318119 }, "status": "OK", }, { "distance": { "text": "140 km", "value": 139695 }, "duration": { "text": "6 heures 49 minutes", "value": 24567 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "1 452 km", "value": 1451704 }, "duration": { "text": "3 jours 2 heures", "value": 266680 }, "status": "OK", }, { "distance": { "text": "146 km", "value": 146500 }, "duration": { "text": "2 heures 53 minutes", "value": 10374 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Vancouver, BC, Canada Seattle, Washington, États-Unis San Francisco, Californie, États-Unis Victoria, BC, Canada |
OK 318119 3 jours 16 heures 1711765 1 712 km OK 24567 6 heures 49 minutes 139695 140 km |
OK 266680 3 jours 2 heures 1451704 1 452 km OK 10374 2 heures 53 minutes 146500 146 km
DistanceMatrixResponse
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | Array<string> |
आपके ओरिजनल अनुरोध के जवाब में, एपीआई से मिले पतों का कलेक्शन. |
|
ज़रूरी है | Array<string> |
आपके ओरिजनल अनुरोध के जवाब में, एपीआई से मिले पतों का कलेक्शन. इन्हें जियोकोडर फ़ॉर्मैट करता है. साथ ही, अनुरोध के साथ पास किए गए भाषा पैरामीटर के हिसाब से स्थानीय भाषा में बदलता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. फ़ॉर्मैट किए गए पतों को प्रोग्राम के हिसाब से पार्स न करें. |
|
ज़रूरी है | Array<DistanceMatrixRow> |
एलिमेंट की एक कैटगरी, जिसमें ज़्यादा जानकारी के लिए, DistanceMatrixRow देखें. |
|
ज़रूरी है | DistanceMatrixStatus |
इसमें अनुरोध की स्थिति के बारे में जानकारी होती है. इसमें डीबग करने से जुड़ी जानकारी भी हो सकती है. इससे आपको यह पता लगाने में मदद मिलती है कि अनुरोध पूरा क्यों नहीं हुआ. ज़्यादा जानकारी के लिए, DistanceMatrixStatus देखें. |
|
ज़रूरी नहीं | स्ट्रिंग |
यह एक स्ट्रिंग है. इसमें अनुरोध को प्रोसेस करते समय हुई किसी भी गड़बड़ी का ऐसा टेक्स्ट होता है जिसे आसानी से पढ़ा जा सकता है. |
DistanceMatrixStatus
सेवा से मिले स्टेटस कोड.
OKसे पता चलता है कि जवाब में मान्य नतीजा शामिल है.-
INVALID_REQUESTसे पता चलता है कि दिया गया अनुरोध अमान्य था. -
MAX_ELEMENTS_EXCEEDEDसे पता चलता है कि मूल और मंज़िल के प्रॉडक्ट, हर क्वेरी के लिए तय की गई सीमा से ज़्यादा हैं. -
MAX_DIMENSIONS_EXCEEDEDका मतलब है कि ऑरिजिन या डेस्टिनेशन की संख्या, हर क्वेरी के लिए तय की गई सीमा से ज़्यादा है. -
OVER_DAILY_LIMITका मतलब इनमें से कोई भी हो सकता है:- एपीआई पासकोड मौजूद नहीं है या अमान्य है.
- आपके खाते में बिलिंग की सुविधा चालू नहीं है.
- इस्तेमाल की तय सीमा पार कर ली गई है.
- पेमेंट का दिया गया तरीका अब मान्य नहीं है. उदाहरण के लिए, क्रेडिट कार्ड की समयसीमा खत्म हो गई है.
-
OVER_QUERY_LIMITका मतलब है कि सेवा को, तय समय में आपके ऐप्लिकेशन से बहुत ज़्यादा अनुरोध मिले हैं. -
REQUEST_DENIEDसे पता चलता है कि सेवा ने आपके ऐप्लिकेशन को Distance Matrix सेवा का इस्तेमाल करने की अनुमति नहीं दी है. -
UNKNOWN_ERRORसे पता चलता है कि सर्वर की गड़बड़ी की वजह से, डिस्टेंस मैट्रिक्स के अनुरोध को प्रोसेस नहीं किया जा सका. दोबारा कोशिश करने पर, अनुरोध पूरा हो सकता है.
DistanceMatrixRow
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | Array<DistanceMatrixElement> |
Distance Matrix API से नतीजे मिलने पर, उन्हें JSON फ़ॉर्मैट में पंक्तियों के कलेक्शन में रखा जाता है. अगर कोई नतीजा नहीं मिलता है (जैसे कि जब ऑरिजिन और/या डेस्टिनेशन मौजूद नहीं होते हैं), तब भी यह खाली कलेक्शन दिखाता है. पंक्तियों को अनुरोध के ऑरिजिन पैरामीटर में मौजूद वैल्यू के हिसाब से क्रम में लगाया जाता है. हर लाइन किसी ऑरिजिन से मेल खाती है. साथ ही, उस लाइन में मौजूद हर एलिमेंट, ऑरिजिन को डेस्टिनेशन वैल्यू के साथ पेयर करने से मेल खाता है. हर लाइन के ऐरे में एक या उससे ज़्यादा एलिमेंट एंट्री होती हैं. इनमें किसी एक मूल जगह और मंज़िल की जानकारी होती है. ज़्यादा जानकारी के लिए, DistanceMatrixElement देखें. |
DistanceMatrixElement
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | DistanceMatrixElementStatus |
एलिमेंट की स्थिति. ज़्यादा जानकारी के लिए, DistanceMatrixElementStatus देखें. |
|
ज़रूरी नहीं | TextValueObject |
इस रास्ते की कुल दूरी, मीटर (वैल्यू) और टेक्स्ट के तौर पर दिखाई जाती है. टेक्स्ट वैल्यू में, इकाई सिस्टम का इस्तेमाल किया जाता है. यह इकाई सिस्टम, ओरिजनल अनुरोध के यूनिट पैरामीटर या मूल जगह के हिसाब से तय होता है. ज़्यादा जानकारी के लिए, TextValueObject देखें. |
|
ज़रूरी नहीं | TextValueObject |
इस रूट पर यात्रा करने में लगने वाला समय, सेकंड (वैल्यू फ़ील्ड) और टेक्स्ट के तौर पर दिखाया जाता है. टेक्स्ट के तौर पर दिखाई गई जानकारी, क्वेरी के भाषा पैरामीटर के हिसाब से स्थानीय भाषा में होती है. ज़्यादा जानकारी के लिए, TextValueObject देखें. |
|
ज़रूरी नहीं | TextValueObject |
इस रास्ते पर यात्रा करने में लगने वाला समय. यह समय, मौजूदा और पुराने ट्रैफ़िक के हिसाब से तय होता है.
ज़्यादा जानकारी के लिए, TextValueObject देखें. |
|
ज़रूरी नहीं | किराया |
अगर यह मौजूद है, तो इसमें इस रूट का कुल किराया (यानी कि टिकट का कुल किराया) शामिल होता है. यह प्रॉपर्टी सिर्फ़ ट्रांज़िट के अनुरोधों के लिए दिखाई जाती है. साथ ही, यह सिर्फ़ उन ट्रांज़िट कंपनियों के लिए दिखाई जाती है जिनके किराये की जानकारी उपलब्ध है. ज़्यादा जानकारी के लिए, किराया देखें. |
किराया
रास्ते का कुल किराया.
{
"currency" : "USD",
"value" : 6,
"text" : "$6.00"
}
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | स्ट्रिंग |
यह ISO 4217 मुद्रा कोड है. इससे पता चलता है कि रकम किस मुद्रा में दिखाई गई है. |
|
ज़रूरी है | स्ट्रिंग |
कुल किराया, अनुरोध की गई भाषा में फ़ॉर्मैट किया गया है. |
|
ज़रूरी है | संख्या |
कुल किराया, बताई गई मुद्रा में. |
DistanceMatrixElementStatus
OKसे पता चलता है कि जवाब में मान्य नतीजा शामिल है.-
NOT_FOUNDका मतलब है कि इस पेयरिंग के ऑरिजिन और/या डेस्टिनेशन को जियोकोड नहीं किया जा सका. -
ZERO_RESULTSका मतलब है कि यात्रा शुरू करने की जगह और मंज़िल के बीच कोई रास्ता नहीं मिला. -
MAX_ROUTE_LENGTH_EXCEEDEDसे पता चलता है कि अनुरोध किया गया रास्ता बहुत लंबा है और उसे प्रोसेस नहीं किया जा सकता.
TextValueObject
यह एक ऐसा ऑब्जेक्ट होता है जिसमें संख्या वाली वैल्यू और उसका फ़ॉर्मैट किया गया टेक्स्ट होता है.
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | स्ट्रिंग |
स्ट्रिंग वैल्यू. |
|
ज़रूरी है | संख्या |
संख्यात्मक वैल्यू. |