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

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

परिचय

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>

एपीआई से मिले पतों का कलेक्शन, जो आपके मूल अनुरोध के जवाब में मिला है. 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 से पता चलता है कि सेवा ने आपके ऐप्लिकेशन को दूरी का मैट्रिक्स सेवा का इस्तेमाल करने की अनुमति नहीं दी.
  • 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

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

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

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

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

संख्यात्मक मान.