Distance Matrix API (लेगसी) का अनुरोध और रिस्पॉन्स

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

परिचय

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_time when mode=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
    1712 km
   
  
  
   OK
   
    24567
    6 heures 49 minutes
   
   
    139695
    140 km
   
  
 
 
  
   OK
   
    266680
    3 jours 2 heures
   
   
    1451704
    1452 km
   
  
  
   OK
   
    10374
    2 heures 53 minutes
   
   
    146500
    146 km
   
  
 

DistanceMatrixResponse

फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है Array<string>

आपके ओरिजनल अनुरोध के जवाब में, एपीआई से मिले पतों का कलेक्शन. origin_addresses की तरह, अगर ज़रूरी हो, तो इन्हें स्थानीय भाषा में दिखाया जाता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. फ़ॉर्मैट किए गए पतों को प्रोग्राम के हिसाब से पार्स न करें.

ज़रूरी है Array<string>

आपके ओरिजनल अनुरोध के जवाब में, एपीआई से मिले पतों का कलेक्शन. इन्हें जियोकोडर फ़ॉर्मैट करता है. साथ ही, अनुरोध के साथ पास किए गए भाषा पैरामीटर के हिसाब से स्थानीय भाषा में बदलता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. फ़ॉर्मैट किए गए पतों को प्रोग्राम के हिसाब से पार्स न करें.

ज़रूरी है Array<DistanceMatrixRow>

एलिमेंट की एक कैटगरी, जिसमें status, duration, और distance एलिमेंट शामिल हैं.

ज़्यादा जानकारी के लिए, 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

इस रास्ते पर यात्रा करने में लगने वाला समय. यह समय, मौजूदा और पुराने ट्रैफ़िक के हिसाब से तय होता है. traffic_model अनुरोध पैरामीटर देखें. इसमें ऐसे विकल्प दिए गए हैं जिनका इस्तेमाल करके, यह अनुरोध किया जा सकता है कि दिखाई गई वैल्यू, अनुमानित सबसे कम वैल्यू हो, अनुमानित सबसे ज़्यादा वैल्यू हो या अनुमानित वैल्यू हो. अवधि को सेकंड (वैल्यू फ़ील्ड) और टेक्स्ट के तौर पर दिखाया जाता है. टेक्स्ट के तौर पर दिखाई गई जानकारी, क्वेरी के भाषा पैरामीटर के हिसाब से स्थानीय भाषा में होती है. ट्रैफ़िक में बिताए गए समय की जानकारी सिर्फ़ तब मिलती है, जब ये सभी शर्तें पूरी हों:

  • अनुरोध में departure_time पैरामीटर शामिल है.
  • अनुरोध किए गए रास्ते के लिए, ट्रैफ़िक की जानकारी उपलब्ध है.
  • मोड पैरामीटर को ड्राइविंग पर सेट किया गया है.

ज़्यादा जानकारी के लिए, TextValueObject देखें.

ज़रूरी नहीं किराया

अगर यह मौजूद है, तो इसमें इस रूट का कुल किराया (यानी कि टिकट का कुल किराया) शामिल होता है. यह प्रॉपर्टी सिर्फ़ ट्रांज़िट के अनुरोधों के लिए दिखाई जाती है. साथ ही, यह सिर्फ़ उन ट्रांज़िट कंपनियों के लिए दिखाई जाती है जिनके किराये की जानकारी उपलब्ध है.

ज़्यादा जानकारी के लिए, किराया देखें.

किराया

रास्ते का कुल किराया.

{
  "currency" : "USD",
  "value" : 6,
  "text" : "$6.00"
}
फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है स्ट्रिंग

यह ISO 4217 मुद्रा कोड है. इससे पता चलता है कि रकम किस मुद्रा में दिखाई गई है.

ज़रूरी है स्ट्रिंग

कुल किराया, अनुरोध की गई भाषा में फ़ॉर्मैट किया गया है.

ज़रूरी है संख्या

कुल किराया, बताई गई मुद्रा में.

DistanceMatrixElementStatus

  • OK से पता चलता है कि जवाब में मान्य नतीजा शामिल है.
  • NOT_FOUND का मतलब है कि इस पेयरिंग के ऑरिजिन और/या डेस्टिनेशन को जियोकोड नहीं किया जा सका.
  • ZERO_RESULTS का मतलब है कि यात्रा शुरू करने की जगह और मंज़िल के बीच कोई रास्ता नहीं मिला.
  • MAX_ROUTE_LENGTH_EXCEEDED से पता चलता है कि अनुरोध किया गया रास्ता बहुत लंबा है और उसे प्रोसेस नहीं किया जा सकता.

TextValueObject

यह एक ऐसा ऑब्जेक्ट होता है जिसमें संख्या वाली वैल्यू और उसका फ़ॉर्मैट किया गया टेक्स्ट होता है.

फ़ील्ड ज़रूरी है टाइप ब्यौरा
ज़रूरी है स्ट्रिंग

स्ट्रिंग वैल्यू.

ज़रूरी है संख्या

संख्यात्मक वैल्यू.