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/v1: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 की खास जानकारी देखें.