परिचय
Distance Matrix API (लेगसी) का अनुरोध इस तरह का होता है:
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
जहां outputFormat इनमें से कोई भी वैल्यू हो सकती है:
json(सुझाया गया) से पता चलता है कि आउटपुट, JavaScript ऑब्जेक्ट Notation (JSON) में है.xmlसे पता चलता है कि आउटपुट, एक्सएमएल के तौर पर है.
कुछ पैरामीटर ज़रूरी होते हैं, जबकि कुछ ज़रूरी नहीं होते. यूआरएल में स्टैंडर्ड के तौर पर, सभी पैरामीटर को एंपरसैंड (&) वर्ण का इस्तेमाल करके अलग किया जाता है. सभी रिज़र्व किए गए वर्णों (उदाहरण के लिए, प्लस का निशान "+") को यूआरएल के डेटा को कोड में बदलना ज़रूरी है. पैरामीटर और उनकी संभावित वैल्यू की सूची यहां दी गई है.
ज़रूरी पैरामीटर
-
डेस्टिनेशन
एक या उससे ज़्यादा जगहें, जिनका इस्तेमाल यात्रा की दूरी और समय का हिसाब लगाने के लिए, फ़िनिशिंग पॉइंट के तौर पर किया जाता है. destinations पैरामीटर के विकल्प, origins पैरामीटर के विकल्पों जैसे ही होते हैं.
-
origins
यात्रा की दूरी और समय का हिसाब लगाने के लिए शुरुआती जगह. जगह के आईडी, पते या अक्षांश/देशांतर निर्देशांक के तौर पर, एक या उससे ज़्यादा जगहों की जानकारी दी जा सकती है. इसके लिए, पाइप वर्ण (|) का इस्तेमाल करके, जगहों की जानकारी को अलग-अलग करें:
-
जगह का आईडी: अगर आपने जगह का आईडी दिया है, तो आपको उसके पहले
place_id:लगाना होगा. -
पता: अगर आपने कोई पता दिया है, तो सेवा स्ट्रिंग को जियोकोड करती है और दूरी का हिसाब लगाने के लिए, उसे अक्षांश/देशांतर निर्देशांक में बदल देती है. यह निर्देशांक, Geocoding API से मिले निर्देशांक से अलग हो सकता है. उदाहरण के लिए, किसी इमारत के केंद्र के बजाय उसके प्रवेश द्वार का निर्देशांक.
ध्यान दें: पतों या अक्षांश/देशांतर निर्देशांकों के बजाय, जगह के आईडी का इस्तेमाल करना बेहतर होता है. निर्देशांकों का इस्तेमाल करने पर, पॉइंट हमेशा उन निर्देशांकों के सबसे नज़दीकी सड़क पर स्नैप हो जाएगा. ऐसा हो सकता है कि वह सड़क, प्रॉपर्टी का ऐक्सेस पॉइंट न हो या उस सड़क से मंज़िल तक जल्दी या सुरक्षित तरीके से न पहुंचा जा सके. पते का इस्तेमाल करने पर, इमारत के प्रवेश द्वार के बजाय, इमारत के केंद्र तक की दूरी की जानकारी मिलेगी.
- निर्देशांक: अगर आपने अक्षांश/देशांतर निर्देशांक पास किए हैं, तो वे सबसे नज़दीकी सड़क पर स्नैप हो जाएंगे. जगह का आईडी पास करना बेहतर होता है. अगर निर्देशांक पास किए जाते हैं, तो पक्का करें कि अक्षांश और देशांतर की वैल्यू के बीच कोई स्पेस न हो.
-
Plus codes को ग्लोबल कोड या कंपाउंड कोड के तौर पर फ़ॉर्मैट किया जाना चाहिए. Plus Code को यहां दिखाए गए तरीके से फ़ॉर्मैट करें. प्लस के निशान को यूआरएल में %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 पर वापस ले जाएगा. इसके अलावा, value के तौर पर now का इस्तेमाल किया जा सकता है. इससे, निकलने का समय मौजूदा समय पर सेट हो जाता है. यह समय, सबसे नज़दीकी सेकंड के हिसाब से सही होता है. इन दो मामलों में, रवानगी का समय बताया जा सकता है:-
उन अनुरोधों के लिए जिनमें यात्रा का मोड सार्वजनिक परिवहन है: आपके पास
departure_timeयाarrival_timeमें से किसी एक को तय करने का विकल्प होता है. अगर दोनों में से कोई भी समय नहीं बताया गया है, तोdeparture_timeडिफ़ॉल्ट रूप से मौजूदा समय पर सेट हो जाता है. इसका मतलब है कि जाने का समय, डिफ़ॉल्ट रूप से मौजूदा समय पर सेट हो जाता है. -
उन अनुरोधों के लिए जिनमें यात्रा का मोड ड्राइविंग है:
departure_timeकी वैल्यू तय की जा सकती है, ताकि आपको रास्ते और यात्रा में लगने वाले समय की जानकारी मिल सके. यह जानकारी, ट्रैफ़िक का हाल को ध्यान में रखकर दी जाती है. रिस्पॉन्स फ़ील्ड: duration_in_traffic.departure_timeको मौजूदा समय या आने वाले समय पर सेट करना ज़रूरी है. यह बीते हुए समय की नहीं हो सकती.
ध्यान दें: अगर रवाना होने का समय नहीं बताया गया है, तो रास्ते और समय का विकल्प, सड़क नेटवर्क और ट्रैफ़िक की औसत स्थिति के आधार पर तय किया जाता है. किसी अनुरोध के नतीजे समय के साथ बदल सकते हैं. ऐसा सड़क नेटवर्क में बदलाव, ट्रैफ़िक की औसत स्थिति में बदलाव, और सेवा के अलग-अलग हिस्सों में बंटे होने की वजह से हो सकता है. किसी भी समय या फ़्रीक्वेंसी पर, करीब-करीब एक जैसे रास्तों के बीच भी नतीजे अलग-अलग हो सकते हैं.ध्यान दें: दूरी के मैट्रिक्स के अनुरोधों मेंdeparture_timeकी जानकारी देने पर,mode=drivingके लिए हर अनुरोध में ज़्यादा से ज़्यादा 100 एलिमेंट शामिल किए जा सकते हैं. शुरुआत की जगहों की संख्या को मंज़िलों की संख्या से गुणा करने पर, एलिमेंट की संख्या का पता चलता है. -
उन अनुरोधों के लिए जिनमें यात्रा का मोड सार्वजनिक परिवहन है: आपके पास
-
भाषा
वह भाषा जिसमें नतीजे दिखाए जाएंगे.
- उपलब्ध भाषाओं की सूची देखें. 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 कोड, ISO 3166-1 कोड से मिलते-जुलते होते हैं. हालांकि, कुछ कोड अलग भी होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका आईएसओ 3166-1 कोड "gb" है. तकनीकी तौर पर, यह कोड "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन ऐंड नॉर्दर्न आयरलैंड" के लिए है.
-
traffic_model
इससे उन अनुमानों के बारे में पता चलता है जिनका इस्तेमाल, ट्रैफ़िक में लगने वाले समय का हिसाब लगाने के लिए किया जाता है. इस सेटिंग का असर, जवाब में duration_in_traffic फ़ील्ड में दिखाई गई वैल्यू पर पड़ता है. इस फ़ील्ड में, ट्रैफ़िक में लगने वाले समय का अनुमान दिखाया जाता है. यह अनुमान, पिछले औसत के आधार पर लगाया जाता है.
traffic_modelपैरामीटर को सिर्फ़ ड्राइविंग के लिए रास्ते के निर्देशों के लिए तय किया जा सकता है. इसके लिए, अनुरोध मेंdeparture_timeशामिल होना चाहिए. इस पैरामीटर के लिए ये वैल्यू उपलब्ध हैं:-
best_guess(डिफ़ॉल्ट) से पता चलता है कि लौटाया गया duration_in_traffic, यात्रा में लगने वाले समय का सबसे सटीक अनुमान होना चाहिए. यह अनुमान, ट्रैफ़िक के पुराने डेटा और लाइव ट्रैफ़िक, दोनों के आधार पर लगाया जाता है.departure_timeके समय के करीब आने पर, लाइव ट्रैफ़िक की जानकारी ज़्यादा अहम हो जाती है. -
pessimisticसे पता चलता है कि ज़्यादातर दिनों में, लौटाई गई duration_in_traffic की वैल्यू, यात्रा में लगने वाले असल समय से ज़्यादा होनी चाहिए. हालांकि, कभी-कभी ट्रैफ़िक की स्थिति खराब होने पर, यह वैल्यू बढ़ सकती है. -
optimisticसे पता चलता है कि ज़्यादातर दिनों में, यात्रा में लगने वाले असल समय के मुकाबले, duration_in_traffic की वैल्यू कम होनी चाहिए. हालांकि, कभी-कभी ट्रैफ़िक का हाल अच्छा होने पर, यात्रा में लगने वाला समय इस वैल्यू से कम हो सकता है.
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'
इस उदाहरण में, डेस्टिनेशन के निर्देशांक बताने के लिए Plus Codes का इस्तेमाल किया गया है:
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'
ट्रैफ़िक जानकारी
ट्रैफ़िक की जानकारी का इस्तेमाल तब किया जाता है, जब यहां दी गई सभी शर्तें पूरी होती हों. दूरी के मैट्रिक्स के रिस्पॉन्स में duration_in_traffic फ़ील्ड पाने के लिए, ये शर्तें पूरी करना ज़रूरी है:
- यात्रा का
modeपैरामीटरdrivingहै या इसके बारे में नहीं बताया गया है (driving, यात्रा का डिफ़ॉल्ट मोड है). - अनुरोध में एक मान्य
departure_timeपैरामीटर शामिल हो.departure_timeको मौजूदा समय या आने वाले समय पर सेट किया जा सकता है. यह बीते हुए समय की नहीं हो सकती.
इसके अलावा, अपने अनुरोध में traffic_model पैरामीटर को शामिल किया जा सकता है. इससे, ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय, इस्तेमाल की जाने वाली मान्यताओं के बारे में बताया जा सकता है.
यहां दिया गया यूआरएल, बॉस्टन, एमए या चार्ल्सटाउन, एमए और लेक्सिंगटन, एमए और कॉनकॉर्ड, एमए के बीच ड्राइविंग की दूरी के लिए, Distance Matrix का अनुरोध शुरू करता है. अनुरोध में, रवाना होने का समय शामिल होता है. साथ ही, इसमें दूरी के मैट्रिक्स के जवाब में 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 के अनुरोध और जवाब
यहां एचटीटीपी अनुरोध का एक सैंपल दिया गया है. इसमें कनाडा के वैंकूवर, ब्रिटिश कोलंबिया और अमेरिका के सिएटल, वॉशिंगटन से अमेरिका के सैन फ़्रांसिस्को, कैलिफ़ोर्निया और कनाडा के विक्टोरिया, ब्रिटिश कोलंबिया तक की दूरी और समय का अनुरोध किया गया है.
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से पता चलता है कि सेवा ने आपके ऐप्लिकेशन को दूरी का मैट्रिक्स सेवा का इस्तेमाल करने की अनुमति नहीं दी. -
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
ऐसा ऑब्जेक्ट जिसमें कोई संख्या वाली वैल्यू और फ़ॉर्मैट किया गया टेक्स्ट शामिल हो.
| फ़ील्ड | ज़रूरी है | टाइप | ब्यौरा |
|---|---|---|---|
|
ज़रूरी है | स्ट्रिंग |
स्ट्रिंग वैल्यू. |
|
ज़रूरी है | संख्या |
संख्यात्मक मान. |