Method: computeRouteMatrix

ऑरिजिन और डेस्टिनेशन की सूची लेता है. साथ ही, ऐसी स्ट्रीम दिखाता है जिसमें ऑरिजिन और डेस्टिनेशन के हर कॉम्बिनेशन के लिए रास्ते की जानकारी होती है.

ध्यान दें: इस तरीके के लिए, इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना ज़रूरी है. यूआरएल पैरामीटर $fields या fields या एचटीटीपी/gRPC हेडर X-Goog-FieldMask का इस्तेमाल करके रिस्पॉन्स फ़ील्ड मास्क उपलब्ध कराया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा से अलग की गई सूची होती है. फ़ील्ड पाथ बनाने का तरीका जानने के लिए, यह ज़्यादा जानकारी वाला दस्तावेज़ देखें.

उदाहरण के लिए, इस तरीके में:

  • सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क (मैन्युअल जांच के लिए): X-Goog-FieldMask: *
  • रास्ते की अवधि, दूरी, एलिमेंट की स्थिति, स्थिति, और एलिमेंट इंडेक्स का फ़ील्ड मास्क (प्रोडक्शन सेटअप का उदाहरण): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

यह ज़रूरी है कि आप अपने फ़ील्ड मास्क में status शामिल करें, क्योंकि ऐसा न करने पर सभी मैसेज ठीक दिखेंगे. Google, रिस्पॉन्स फ़ील्ड मास्क के तौर पर वाइल्डकार्ड (*) का इस्तेमाल करने का सुझाव नहीं देता, क्योंकि:

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

एचटीटीपी अनुरोध

POST https://routespreferred.googleapis.com/v1alpha:computeRouteMatrix

यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:

JSON के काेड में दिखाना
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
फ़ील्ड
origins[]

object (RouteMatrixOrigin)

ज़रूरी है. ऑरिजिन का कलेक्शन, जो रिस्पॉन्स मैट्रिक्स की पंक्तियों को तय करता है. ऑरिजिन और डेस्टिनेशन की एलिमेंट की संख्या पर, साइज़ से जुड़ी कई पाबंदियां लागू होती हैं:

  • किसी भी मामले में, एलिमेंट (ऑरिजिन × डेस्टिनेशन) की संख्या 625 से ज़्यादा नहीं होनी चाहिए.
  • अगर routingPreference को TRAFFIC_AWARE_OPTIMAL पर सेट किया गया है, तो एलिमेंट (ऑरिजिन × डेस्टिनेशन) की संख्या 100 से ज़्यादा नहीं होनी चाहिए.
  • placeId के तौर पर बताए गए वे रास्ते जिनसे यात्रा शुरू होती है और जिन पर यात्रा खत्म होती है उनकी संख्या 50 से ज़्यादा नहीं होनी चाहिए.
destinations[]

object (RouteMatrixDestination)

ज़रूरी है. डेस्टिनेशन की वह कलेक्शन, जो रिस्पॉन्स मैट्रिक्स के कॉलम तय करती है.

travelMode

enum (RouteTravelMode)

ज़रूरी नहीं. परिवहन का साधन बताता है.

routingPreference

enum (RoutingPreference)

ज़रूरी नहीं. यह बताता है कि रूट का हिसाब कैसे लगाया जाए. रूट की गणना करने के लिए सर्वर, चुनी गई रूटिंग प्राथमिकता के इस्तेमाल की कोशिश करता है. अगर रूटिंग प्राथमिकता के कारण कोई गड़बड़ी होती है या अतिरिक्त लंबी प्रतीक्षा अवधि होती है, तो एक गड़बड़ी वापस मिलती है. यह विकल्प सिर्फ़ तब तय किया जा सकता है, जब travelMode की वैल्यू DRIVE या TWO_WHEELER हो. ऐसा न होने पर, अनुरोध पूरा नहीं होगा.

departureTime

string (Timestamp format)

ज़रूरी नहीं. रवानगी का समय. अगर इस वैल्यू को सेट नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप से आपके अनुरोध के समय पर सेट होती है. अगर इस वैल्यू को पहले ही हो चुके समय पर सेट किया जाता है, तो अनुरोध पूरा नहीं होगा.

आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

जवाब का मुख्य भाग

कामयाब रहने पर, जवाब के मुख्य हिस्से में RouteMatrixElement इंस्टेंस की स्ट्रीम शामिल होती है.

अनुमति के दायरे

नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

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