दूरी के मैट्रिक्स की सेवा

खास जानकारी

Google की डिस्टेंस मैट्रिक्स सेवा, किसी दिए गए यात्रा के साधन का इस्तेमाल करके, कई शुरुआत और मंज़िलों के बीच यात्रा की दूरी और यात्रा की अवधि का हिसाब लगाती है.

यह सेवा विस्तृत मार्ग जानकारी नहीं लौटाती है. दिशा-निर्देश सेवा को मनचाहे शुरुआत की जगह और मंज़िल से जुड़ी जानकारी देकर, रास्ते की जानकारी हासिल की जा सकती है. इसमें पॉलीलाइन और टेक्स्ट वाले निर्देश भी शामिल हैं.

रिपोर्ट का इस्तेमाल करना

Maps JavaScript API में डिस्टेंस मैट्रिक्स सेवा का इस्तेमाल करने से पहले, पक्का करें कि आपने Maps JavaScript API के लिए जिस प्रोजेक्ट को सेट अप किया है उसी प्रोजेक्ट में, Google Cloud Console में डिस्टेंस मैट्रिक्स एपीआई चालू हो.

चालू एपीआई की सूची देखने के लिए:

  1. Google Cloud Console पर जाएं.
  2. प्रोजेक्ट चुनें बटन पर क्लिक करें. इसके बाद, वही प्रोजेक्ट चुनें जिसे आपने Maps JavaScript API के लिए सेट अप किया है और खोलें पर क्लिक करें.
  3. डैशबोर्ड पर एपीआई की सूची में, डिस्टेंस मैट्रिक्स एपीआई खोजें.
  4. अगर आपको सूची में एपीआई दिखता है, तो इसका मतलब है कि अब आप इसे इस्तेमाल करने के लिए तैयार हैं. अगर एपीआई सूची में नहीं है, तो उसे चालू करें:
    1. लाइब्रेरी टैब को दिखाने के लिए, पेज पर सबसे ऊपर मौजूद एपीआई चालू करें को चुनें. इसके अलावा, बाईं ओर दिए गए मेन्यू से, लाइब्रेरी चुनें.
    2. दूरी मैट्रिक्स एपीआई खोजें. इसके बाद, नतीजों की सूची से इसे चुनें.
    3. चालू करें को चुनें. प्रोसेस पूरी होने के बाद, डिस्टेंस मेट्रिक एपीआई, डैशबोर्ड पर एपीआई की सूची में दिखता है.

कीमत और नीतियां

कीमत

'मैप, रूट, और जगहें' के लिए 16 जुलाई, 2018 से 'जितना इस्तेमाल करें, सिर्फ़ उतने पैसे चुकाएं' वाली कीमत तय करने की नई योजना लागू की गई है. JavaScript डिस्टेंस मैट्रिक्स सेवा के इस्तेमाल के लिए नई कीमतों और इस्तेमाल की सीमाओं के बारे में ज़्यादा जानने के लिए, डिस्टेंस मैट्रिक्स एपीआई के इस्तेमाल और बिलिंग देखें.

ध्यान दें: डिस्टेंस मेट्रिक्स सेवा को भेजी गई हर क्वेरी, अनुमति वाले एलिमेंट की संख्या से सीमित होती है. इसमें एलिमेंट की संख्या, ऑरिजिन की संख्या और डेस्टिनेशन की संख्या को गुणा करके तय की जाती है.

नीतियां

डिस्टेंस मैट्रिक्स सेवा का इस्तेमाल, दूरी के मैट्रिक्स एपीआई के लिए बताई गई नीतियों के हिसाब से होना चाहिए.

दूरी के मैट्रिक्स के अनुरोध

डिस्टेंस मैट्रिक्स सेवा को ऐक्सेस करना एसिंक्रोनस होता है, क्योंकि Google Maps API को बाहरी सर्वर को कॉल करने की ज़रूरत होती है. इसलिए, नतीजे प्रोसेस करने के लिए, आपको अनुरोध पूरा होने के बाद कॉलबैक तरीका पास करना होगा.

google.maps.DistanceMatrixService कंस्ट्रक्टर ऑब्जेक्ट की मदद से, अपने कोड में डिस्टेंस मैट्रिक्स सेवा को ऐक्सेस किया जा सकता है. DistanceMatrixService.getDistanceMatrix() तरीका, डिस्टेंस मेट्रिक्स सेवा को एक अनुरोध भेजता है. साथ ही, इसे ऑरिजिन, डेस्टिनेशन, और यात्रा मोड वाले लिटरल DistanceMatrixRequest ऑब्जेक्ट पास करता है. साथ ही, रिस्पॉन्स मिलने पर पूरा करने के लिए एक कॉलबैक तरीका भी पास किया जाता है.

var origin1 = new google.maps.LatLng(55.930385, -3.118425);
var origin2 = 'Greenwich, England';
var destinationA = 'Stockholm, Sweden';
var destinationB = new google.maps.LatLng(50.087692, 14.421150);

var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
  {
    origins: [origin1, origin2],
    destinations: [destinationA, destinationB],
    travelMode: 'DRIVING',
    transitOptions: TransitOptions,
    drivingOptions: DrivingOptions,
    unitSystem: UnitSystem,
    avoidHighways: Boolean,
    avoidTolls: Boolean,
  }, callback);

function callback(response, status) {
  // See Parsing the Results for
  // the basics of a callback function.
}

उदाहरण देखें

DistanceMatrixRequest में ये फ़ील्ड शामिल होते हैं:

  • origins (ज़रूरी है) — ऐसा कलेक्शन जिसमें एक या उससे ज़्यादा पता स्ट्रिंग, google.maps.LatLng ऑब्जेक्ट या जगह ऑब्जेक्ट होते हैं. इनसे दूरी और समय का पता लगाया जाता है.
  • destinations (ज़रूरी है) — वह कलेक्शन जिसमें एक या उससे ज़्यादा पता स्ट्रिंग, google.maps.LatLng ऑब्जेक्ट या जगह ऑब्जेक्ट होते हैं. इससे, दूरी और समय का पता लगाया जाता है.
  • travelMode (ज़रूरी नहीं है) — परिवहन का वह साधन जिसका इस्तेमाल, निर्देशों को कैलकुलेट करने के लिए किया जाना है. यात्रा के मोड के बारे में सेक्शन देखें.
  • transitOptions (ज़रूरी नहीं है) — ऐसे विकल्प जो सिर्फ़ उन अनुरोधों पर लागू होते हैं जहां travelMode TRANSIT है. मान्य वैल्यू के बारे में बस, मेट्रो वगैरह के विकल्प सेक्शन में बताया गया है.
  • drivingOptions (ज़रूरी नहीं है) से ऐसी वैल्यू का पता चलता है जो सिर्फ़ उन अनुरोधों पर लागू होती हैं जहां travelMode, DRIVING है. मान्य वैल्यू के बारे में 'ड्राइविंग के विकल्प' सेक्शन में बताया गया है.
  • unitSystem (ज़रूरी नहीं है) — दूरी दिखाने के लिए इस्तेमाल किया जाने वाला यूनिट सिस्टम. इन वैल्यू का इस्तेमाल किया जा सकता है:
    • google.maps.UnitSystem.METRIC (डिफ़ॉल्ट)
    • google.maps.UnitSystem.IMPERIAL
  • avoidHighways (ज़रूरी नहीं है) — अगर true है, तो ऑरिजिन और डेस्टिनेशन के बीच के रूट का हिसाब लगाया जाएगा, ताकि जहां भी मुमकिन हो वहां हाइवे से बचा जा सके.
  • avoidTolls (ज़रूरी नहीं) — अगर true है, तो जहां भी संभव होगा, पॉइंट के बीच के निर्देशों की गिनती, बिना टोल वाले रास्तों के आधार पर की जाएगी.

यात्रा के मोड

समय और दूरी का हिसाब लगाते समय, यह तय किया जा सकता है कि यात्रा के किस साधन का इस्तेमाल करना है. फ़िलहाल, यात्रा के इन मोड का इस्तेमाल किया जा सकता है:

  • BICYCLING ने साइकल के रास्तों और पसंदीदा सड़कों के ज़रिए, साइकल चलाने के निर्देशों का अनुरोध किया है (फ़िलहाल, यह सुविधा सिर्फ़ अमेरिका और कनाडा के कुछ शहरों में उपलब्ध है).
  • DRIVING (डिफ़ॉल्ट) सड़क नेटवर्क का इस्तेमाल करके मानक ड्राइविंग दिशा-निर्देशों को दिखाता है.
  • TRANSIT ने सार्वजनिक परिवहन के रास्तों के ज़रिए दिशा-निर्देशों का अनुरोध किया है. यह विकल्प सिर्फ़ तब शामिल किया जा सकता है, जब अनुरोध में एपीआई पासकोड शामिल हो. इस तरह के अनुरोध के लिए उपलब्ध विकल्पों के लिए, बस, मेट्रो वगैरह के विकल्प सेक्शन देखें.
  • WALKING पैदल चलने के रास्तों और फ़ुटपाथ (जहां उपलब्ध हो) से पैदल चलने की दिशा-निर्देशों का अनुरोध करता है.

बस, मेट्रो वगैरह के विकल्प

फ़िलहाल, ट्रांज़िट सेवा 'प्रयोग के तौर पर उपलब्ध है'. इस दौरान, हम एपीआई के गलत इस्तेमाल को रोकने के लिए दर की सीमाएं लागू करेंगे. एपीआई के फ़ेयर यूज़ के आधार पर, हम हर मैप लोड पर कुल क्वेरी की एक सीमा तय करेंगे.

दूरी की मैट्रिक्स के अनुरोध के लिए उपलब्ध विकल्प, यात्रा के मोड के हिसाब से अलग-अलग होते हैं. ट्रांज़िट अनुरोधों में, avoidHighways और avoidTolls विकल्पों को नज़रअंदाज़ किया जाता है. TransitOptions ऑब्जेक्ट लिटरल के ज़रिए, ट्रांज़िट से जुड़े रूटिंग के विकल्प तय किए जा सकते हैं.

ट्रांज़िट अनुरोध, समय के हिसाब से संवेदनशील होते हैं. गिनती सिर्फ़ आने वाले समय के लिए दिखाई जाएगी.

TransitOptions ऑब्जेक्ट लिटरल में, ये फ़ील्ड शामिल होते हैं:

{
  arrivalTime: Date,
  departureTime: Date,
  modes: [transitMode1, transitMode2]
  routingPreference: TransitRoutePreference
}

इन फ़ील्ड से जुड़ी जानकारी नीचे दी गई है:

  • arrivalTime (ज़रूरी नहीं है) Date ऑब्जेक्ट के तौर पर, पहुंचने के मनचाहे समय की जानकारी देता है. अगर पहुंचने के समय की जानकारी दी गई है, तो निकलने के समय को अनदेखा कर दिया जाता है.
  • departureTime (ज़रूरी नहीं है) Date ऑब्जेक्ट के तौर पर, जाने के सही समय की जानकारी देता है. अगर arrivalTime दिया गया है, तो departureTime को अनदेखा कर दिया जाएगा. अगर departureTime या arrivalTime के लिए कोई वैल्यू तय नहीं की गई है, तो डिफ़ॉल्ट तौर पर यह अब (यानी मौजूदा समय) पर सेट होता है.
  • modes (ज़रूरी नहीं है) एक कलेक्शन है, जिसमें एक या उससे ज़्यादा TransitMode ऑब्जेक्ट लिटरल हैं. इस फ़ील्ड को सिर्फ़ तब शामिल किया जा सकता है, अगर अनुरोध में एपीआई पासकोड शामिल हो. हर TransitMode, बस, मेट्रो वगैरह के लिए पसंदीदा मोड के बारे में बताता है. ये वैल्यू इस्तेमाल की जा सकती हैं:
    • BUS बताता है कि तय किए गए रास्ते के लिए बस से यात्रा को प्राथमिकता देनी चाहिए.
    • RAIL बताता है कि तय किए गए रूट में ट्रेन, ट्राम, लाइट रेल, और सबवे से यात्रा को प्राथमिकता दी जानी चाहिए.
    • SUBWAY बताता है कि तय किए गए रूट में सबवे से यात्रा को प्राथमिकता दी जानी चाहिए.
    • TRAIN बताता है कि तय किए गए रास्ते के लिए ट्रेन से यात्रा को प्राथमिकता देनी चाहिए.
    • TRAM बताता है कि तय किए गए रास्ते के लिए, ट्राम और लाइट रेल से यात्रा को प्राथमिकता देनी चाहिए.
  • routingPreference (ज़रूरी नहीं है) सार्वजनिक परिवहन के रास्तों के लिए प्राथमिकताएं तय करता है. इस विकल्प का इस्तेमाल करके, एपीआई से चुने गए डिफ़ॉल्ट सबसे अच्छे रास्ते को स्वीकार करने के बजाय, दिखाए गए विकल्पों में पक्षपात किया जा सकता है. इस फ़ील्ड को सिर्फ़ तब शामिल किया जा सकता है, जब अनुरोध में एपीआई पासकोड शामिल हो. ये वैल्यू इस्तेमाल की जा सकती हैं:
    • FEWER_TRANSFERS बताता है कि तय किए गए रूट में बस सीमित संख्या में ही ट्रांसफ़र होने चाहिए.
    • LESS_WALKING बताता है कि तय किए गए रास्ते में कम पैदल चलना चाहिए.

ड्राइविंग के विकल्प

ट्रैफ़िक की अनुमानित स्थितियों को ध्यान में रखते हुए, अपनी मंज़िल के लिए सबसे अच्छे रास्ते का हिसाब लगाने के लिए, निकलने का समय बताने के लिए drivingOptions ऑब्जेक्ट का इस्तेमाल करें. आपके पास यह तय करने का भी विकल्प है कि ट्रैफ़िक में शामिल होने वाला अनुमानित समय, निराशाजनक, आशावादी या पुराने ट्रैफ़िक स्थितियों और लाइव ट्रैफ़िक के आधार पर सबसे अच्छा अनुमान होना चाहिए.

drivingOptions ऑब्जेक्ट में ये फ़ील्ड शामिल होते हैं:

{
  departureTime: Date,
  trafficModel: TrafficModel
}

इन फ़ील्ड से जुड़ी जानकारी नीचे दी गई है:

  • departureTime (drivingOptions ऑब्जेक्ट लिटरल के मान्य होने के लिए ज़रूरी है), एक Date ऑब्जेक्ट के रूप में, जाने के सही समय की जानकारी देता है. वैल्यू को मौजूदा समय या आगे के किसी समय पर सेट किया जाना चाहिए. यह बीते हुए समय में नहीं हो सकता. (यह एपीआई सभी तारीखों को यूटीसी में बदलता है, ताकि सभी टाइम ज़ोन में एक जैसी हैंडलिंग हो.) अगर अनुरोध में departureTime को शामिल किया जाता है, तो एपीआई ट्रैफ़िक के अनुमानित समय के आधार पर सबसे अच्छा रास्ता दिखाता है. साथ ही, रिस्पॉन्स में ट्रैफ़िक में अनुमानित समय (duration_in_traffic) भी शामिल करता है. अगर आप रवाना होने का समय नहीं बताते हैं (मतलब, अगर अनुरोध में drivingOptions शामिल न हो), तो वापस किया गया रास्ता आम तौर पर अच्छा माना जाता है, लेकिन ट्रैफ़िक की स्थितियों को ध्यान में नहीं रखा जाता.
  • trafficModel (ज़रूरी नहीं है) ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय इस्तेमाल किए जाने वाले अनुमानों को दिखाता है. यह सेटिंग, रिस्पॉन्स के तौर पर duration_in_traffic फ़ील्ड में दिखने वाली वैल्यू पर असर डालती है. इसमें, पुराने औसत के आधार पर ट्रैफ़िक में लगने वाला अनुमानित समय शामिल होता है. डिफ़ॉल्ट तौर पर, यह वैल्यू best_guess होती है. ये वैल्यू इस्तेमाल की जा सकती हैं:
    • bestguess (डिफ़ॉल्ट) से पता चलता है कि वापस किए गए duration_in_traffic को, यात्रा में लगने वाले समय का सबसे सही अनुमान होना चाहिए. यह अनुमान पुराने ट्रैफ़िक और लाइव ट्रैफ़िक, दोनों के बारे में पता होता है. departureTime के नज़दीक आने पर लाइव ट्रैफ़िक और ज़रूरी हो जाता है..
    • pessimistic से पता चलता है कि duration_in_traffic को ज़्यादातर दिनों में, यात्रा में लगने वाले असल समय से ज़्यादा दिखाया जाना चाहिए. हालांकि, कभी-कभी खास तौर पर खराब ट्रैफ़िक वाले दिनों में, इस वैल्यू से ज़्यादा हो सकते हैं.
    • optimistic से पता चलता है कि लौटाया गया duration_in_traffic, ज़्यादातर दिनों में यात्रा के असल समय से कम होना चाहिए. हालांकि, खास तौर पर अच्छे ट्रैफ़िक वाले दिनों में, इस वैल्यू से कम समय भी चल सकता है.

ड्राइविंग रूट के लिए DistanceMatrixRequest का सैंपल नीचे दिया गया है. इसमें, रवानगी का समय और ट्रैफ़िक मॉडल शामिल हैं:

{
  origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'],
  destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}],
  travelMode: 'DRIVING',
  drivingOptions: {
    departureTime: new Date(Date.now() + N),  // for the time N milliseconds from now.
    trafficModel: 'optimistic'
  }
}

दूरी के मैट्रिक्स से जुड़े जवाब

डिस्टेंस मैट्रिक्स सेवा को कॉल करने पर, DistanceMatrixResponse ऑब्जेक्ट और DistanceMatrixStatus ऑब्जेक्ट दिखता है. इन्हें आपके अनुरोध में बताए गए कॉलबैक फ़ंक्शन में भेजा जाता है.

DistanceMatrixResponse ऑब्जेक्ट में, हर उस शुरुआत की जगह/डेस्टिनेशन जोड़े के लिए दूरी और कुल समय की जानकारी होती है जिसके लिए रूट का हिसाब लगाया जा सकता है.

{
  "originAddresses": [ "Greenwich, Greater London, UK", "13 Great Carleton Square, Edinburgh, City of Edinburgh EH16 4, UK" ],
  "destinationAddresses": [ "Stockholm County, Sweden", "Dlouhá 609/2, 110 00 Praha-Staré Město, Česká republika" ],
  "rows": [ {
    "elements": [ {
      "status": "OK",
      "duration": {
        "value": 70778,
        "text": "19 hours 40 mins"
      },
      "distance": {
        "value": 1887508,
        "text": "1173 mi"
      }
    }, {
      "status": "OK",
      "duration": {
        "value": 44476,
        "text": "12 hours 21 mins"
      },
      "distance": {
        "value": 1262780,
        "text": "785 mi"
      }
    } ]
  }, {
    "elements": [ {
      "status": "OK",
      "duration": {
        "value": 96000,
        "text": "1 day 3 hours"
      },
      "distance": {
        "value": 2566737,
        "text": "1595 mi"
      }
    }, {
      "status": "OK",
      "duration": {
        "value": 69698,
        "text": "19 hours 22 mins"
      },
      "distance": {
        "value": 1942009,
        "text": "1207 mi"
      }
    } ]
  } ]
}

दूरी के मैट्रिक्स के नतीजे

जवाब में इस्तेमाल किए जा सकने वाले फ़ील्ड के बारे में नीचे बताया गया है.

  • originAddresses एक कलेक्शन है. इसमें उन जगहों की जानकारी शामिल है जो डिस्टेंस मेट्रिक्स अनुरोध के origins फ़ील्ड में पास की जाती हैं. पते को जियोकोडर के ज़रिए फ़ॉर्मैट करके वापस लाया जाता है.
  • destinationAddresses एक कलेक्शन है. इसमें उन जगहों की जानकारी शामिल है जिन्हें destinations फ़ील्ड में पास किया गया. यह फ़ॉर्मैट, जियोकोडर के फ़ॉर्मैट में दिया गया है.
  • rows, DistanceMatrixResponseRow ऑब्जेक्ट की एक कलेक्शन है. हर पंक्ति किसी ऑरिजिन से जुड़ी होती है.
  • elements, rows के चाइल्ड हैं और हर डेस्टिनेशन के साथ लाइन के ऑरिजिन के पेयर से मेल खाते हैं. इनमें हर मूल/डेस्टिनेशन जोड़े के लिए स्थिति, कुल समय, दूरी, और किराये की जानकारी (अगर उपलब्ध हो) होती है.
  • हर element में ये फ़ील्ड होते हैं:
    • status: संभावित स्थिति कोड की सूची के लिए स्थिति कोड देखें.
    • duration: इस रास्ते से यात्रा करने में लगने वाला समय, जिसे सेकंड (value फ़ील्ड) और text के तौर पर दिखाया जाता है. टेक्स्ट वैल्यू को अनुरोध में दिए गए unitSystem के मुताबिक फ़ॉर्मैट किया जाता है (या मेट्रिक में, अगर कोई प्राथमिकता न दी गई हो).
    • duration_in_traffic: ट्रैफ़िक की मौजूदा स्थितियों को ध्यान में रखते हुए, इस रास्ते से यात्रा करने में लगने वाला समय. इसे सेकंड में (value फ़ील्ड) और text के तौर पर दिखाया जाता है. टेक्स्ट वैल्यू को अनुरोध में दिए गए unitSystem के मुताबिक फ़ॉर्मैट किया जाता है (या मेट्रिक में, अगर कोई प्राथमिकता न दी गई हो). duration_in_traffic को सिर्फ़ Google Maps Platform Premium प्लान के ग्राहकों को लौटाया जाता है, जहां ट्रैफ़िक डेटा उपलब्ध होता है. साथ ही, mode को driving पर सेट किया जाता है और departureTime को अनुरोध में, distanceMatrixOptions फ़ील्ड के हिस्से के तौर पर शामिल किया जाता है.
    • distance: इस रास्ते की कुल दूरी को मीटर (value) और text के तौर पर दिखाया जाता है. टेक्स्ट वाली वैल्यू को अनुरोध में दिए गए unitSystem के मुताबिक फ़ॉर्मैट किया जाता है (या मेट्रिक में, अगर कोई प्राथमिकता न दी गई हो).
    • fare: इसमें इस रास्ते का कुल किराया (यानी कि टिकट की कुल कीमत) शामिल होता है. यह प्रॉपर्टी सिर्फ़ सार्वजनिक परिवहन से जुड़े अनुरोधों के लिए दी जाती है. इसे सिर्फ़ उन परिवहन कंपनियों को लौटाया जाता है जहां किराये की जानकारी उपलब्ध है. इसमें ये चीज़ें शामिल होती हैं:
      • currency: ISO 4217 मुद्रा कोड, जो उस मुद्रा को दिखाता है जिसमें रकम दिखाई गई है.
      • value: ऊपर बताई गई मुद्रा में, किराये की कुल रकम.

स्थिति कोड

दूरी के मैट्रिक्स वाले रिस्पॉन्स में, पूरे जवाब के लिए एक स्टेटस कोड होता है. साथ ही, हर एलिमेंट के लिए एक स्टेटस कोड भी होता है.

जवाब के स्टेटस के कोड

DistanceMatrixResponse पर लागू होने वाले स्टेटस कोड, DistanceMatrixStatus ऑब्जेक्ट में पास किए जाते हैं. इनमें ये कोड शामिल होते हैं:

  • OK — अनुरोध मान्य है. यह स्थिति तब भी दिखाई जा सकती है, जब किसी भी ऑरिजिन और डेस्टिनेशन के बीच कोई रूट न मिला हो. एलिमेंट लेवल के स्टेटस की जानकारी के लिए, एलिमेंट स्टेटस कोड देखें.
  • INVALID_REQUEST — दिया गया अनुरोध अमान्य था. ऐसा अक्सर ज़रूरी फ़ील्ड मौजूद न होने की वजह से होता है. ऊपर इस्तेमाल किए जा सकने वाले फ़ील्ड की सूची देखें.
  • MAX_ELEMENTS_EXCEEDED — ऑरिजिन और डेस्टिनेशन का प्रॉडक्ट, हर क्वेरी के लिए तय सीमा से ज़्यादा है.
  • MAX_DIMENSIONS_EXCEEDED — आपके अनुरोध में 25 से ज़्यादा ऑरिजिन या 25 से ज़्यादा डेस्टिनेशन शामिल हैं.
  • OVER_QUERY_LIMIT — आपके ऐप्लिकेशन ने तय समयावधि में बहुत ज़्यादा एलिमेंट का अनुरोध किया है. अगर काफ़ी समय बाद दोबारा कोशिश की जाती है, तो आपका अनुरोध पूरा हो जाएगा.
  • REQUEST_DENIED — इस सेवा ने आपके वेब पेज से, डिस्टेंस मैट्रिक्स सेवा के इस्तेमाल की अनुमति नहीं दी है.
  • UNKNOWN_ERROR — सर्वर की गड़बड़ी की वजह से, दूरी के मैट्रिक्स के अनुरोध को प्रोसेस नहीं किया जा सका. फिर से कोशिश करने पर अनुरोध पूरा हो सकता है.

एलिमेंट के स्टेटस कोड

नीचे दिए गए स्टेटस कोड, खास DistanceMatrixElement ऑब्जेक्ट पर लागू होते हैं:

  • NOT_FOUND — इस जोड़े के ऑरिजिन और/या डेस्टिनेशन को जियोकोड नहीं किया जा सका.
  • OK — रिस्पॉन्स में एक मान्य नतीजा मौजूद है.
  • ZERO_RESULTS — शुरुआत की जगह और मंज़िल के बीच कोई रास्ता नहीं मिला.

नतीजों को पार्स करना

DistanceMatrixResponse ऑब्जेक्ट में, अनुरोध में पास किए गए हर ऑरिजिन के लिए, एक row होता है. हर लाइन में दिए गए डेस्टिनेशन के साथ, उस ऑरिजिन के हर पेयर के लिए एक element फ़ील्ड होता है.

function callback(response, status) {
  if (status == 'OK') {
    var origins = response.originAddresses;
    var destinations = response.destinationAddresses;

    for (var i = 0; i < origins.length; i++) {
      var results = response.rows[i].elements;
      for (var j = 0; j < results.length; j++) {
        var element = results[j];
        var distance = element.distance.text;
        var duration = element.duration.text;
        var from = origins[i];
        var to = destinations[j];
      }
    }
  }
}