दूरी का मैट्रिक्स बताने वाली सेवा

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर
ध्यान दें: सर्वर-साइड लाइब्रेरी

खास जानकारी

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

यह सेवा, रास्ते की पूरी जानकारी नहीं देती. रास्ते की जानकारी पाने के लिए, Directions Service को शुरुआती जगह और मंज़िल की जानकारी दें. इस जानकारी में पॉलीलाइन और टेक्स्ट के तौर पर दिए गए निर्देश शामिल होते हैं.

शुरू करना

Maps JavaScript API में Distance Matrix सेवा का इस्तेमाल करने से पहले, पक्का करें कि Distance Matrix API (लेगसी) चालू हो. यह उसी Google Cloud Console में चालू होना चाहिए जिसे आपने Maps JavaScript API के लिए सेट अप किया था.

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

  1. Google Cloud Console पर जाएं.
  2. कोई प्रोजेक्ट चुनें बटन पर क्लिक करें. इसके बाद, वही प्रोजेक्ट चुनें जिसे आपने Maps JavaScript API के लिए सेट अप किया था. इसके बाद, खोलें पर क्लिक करें.
  3. डैशबोर्ड पर मौजूद एपीआई की सूची में, Distance Matrix API (लेगसी) ढूंढें.
  4. अगर आपको सूची में एपीआई दिखता है, तो आपको कोई कार्रवाई करने की ज़रूरत नहीं है. अगर एपीआई सूची में नहीं है, तो इसे https://console.cloud.google.com/apis/library/distance-matrix-backend.googleapis.com पर जाकर चालू करें

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

कीमत

JavaScript Distance Matrix सेवा के लिए, शुल्क और इस्तेमाल से जुड़ी नीतियों के बारे में जानने के लिए, Distance Matrix API (लेगसी) के लिए इस्तेमाल और बिलिंग देखें.

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

नीतियां

Distance Matrix सेवा का इस्तेमाल, Distance Matrix API (लेगसी) के लिए बताई गई नीतियों के मुताबिक होना चाहिए.

Distance Matrix API के अनुरोध

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

अपने कोड में Distance Matrix सेवा को ऐक्सेस करने के लिए, google.maps.DistanceMatrixService कंस्ट्रक्टर ऑब्जेक्ट का इस्तेमाल करें. DistanceMatrixService.getDistanceMatrix() तरीका, Distance Matrix सेवा को अनुरोध भेजता है. इसमें 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 ऑब्जेक्ट या Place ऑब्जेक्ट शामिल होते हैं. इनसे दूरी और समय का हिसाब लगाया जाता है.
  • destinations (ज़रूरी है) — एक ऐसा कलेक्शन जिसमें एक या उससे ज़्यादा पते की स्ट्रिंग, google.maps.LatLng ऑब्जेक्ट या Place ऑब्जेक्ट शामिल होते हैं. इनके बीच की दूरी और समय का हिसाब लगाया जाता है.
  • 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'
  }
}

Distance Matrix API से मिले जवाब

Distance Matrix सेवा को कॉल करने पर, 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"
      }
    } ]
  } ]
}

Distance Matrix API के नतीजे

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

  • originAddresses एक कैटगरी है. इसमें उन जगहों की जानकारी होती है जिन्हें Distance Matrix API के अनुरोध के origins फ़ील्ड में पास किया गया है. पते उसी फ़ॉर्मैट में दिखाए जाते हैं जिस फ़ॉर्मैट में जियोकोडर उन्हें फ़ॉर्मैट करता है.
  • destinationAddresses एक ऐसा अरे है जिसमें destinations फ़ील्ड में पास की गई जगहों की जानकारी होती है. यह जानकारी, जियोकोडर से मिले फ़ॉर्मैट में होती है.
  • rows, DistanceMatrixResponseRow ऑब्जेक्ट का एक कलेक्शन है. इसमें हर लाइन एक ऑरिजिन से जुड़ी होती है.
  • elements, rows के चाइल्ड हैं. साथ ही, ये लाइन के ऑरिजिन को हर डेस्टिनेशन के साथ पेयर करने से जुड़े हैं. इनमें हर शुरुआती/मंज़िल वाली जगह के लिए, स्थिति, अवधि, दूरी, और किराये की जानकारी (अगर उपलब्ध हो) शामिल होती है.
  • हर element में ये फ़ील्ड शामिल होते हैं:
    • status: संभावित स्टेटस कोड की सूची देखने के लिए, स्टेटस कोड देखें.
    • duration: इस रास्ते से यात्रा करने में लगने वाला समय, जिसे सेकंड में (value फ़ील्ड) और text के तौर पर दिखाया जाता है. टेक्स्ट वैल्यू को अनुरोध में बताए गए unitSystem के हिसाब से फ़ॉर्मैट किया जाता है. अगर कोई प्राथमिकता नहीं दी गई है, तो मेट्रिक के हिसाब से फ़ॉर्मैट किया जाता है.
    • duration_in_traffic: इस रास्ते पर यात्रा करने में लगने वाला समय. इसमें मौजूदा ट्रैफ़िक की स्थिति को ध्यान में रखा जाता है. इसे सेकंड (value फ़ील्ड) और text के तौर पर दिखाया जाता है. टेक्स्ट वैल्यू को अनुरोध में बताए गए unitSystem के हिसाब से फ़ॉर्मैट किया जाता है. अगर कोई प्राथमिकता नहीं दी गई है, तो मेट्रिक के हिसाब से फ़ॉर्मैट किया जाता है. duration_in_traffic सिर्फ़ तब दिखता है, जब ट्रैफ़िक डेटा उपलब्ध हो, 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 — इस सेवा ने आपके वेब पेज को Distance Matrix सेवा का इस्तेमाल करने की अनुमति नहीं दी.
  • 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];
      }
    }
  }
}