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 से ज़्यादा नहीं होनी चाहिए.
  • अगर रूटिंग का विकल्प TRAFFIC_AWARE_OPTIMAL पर सेट है, तो एलिमेंट की संख्या (ऑरिजिन × डेस्टिनेशन) 100 से ज़्यादा नहीं होनी चाहिए.
  • placeId के तौर पर वेपॉइंट (ऑरिजिन + डेस्टिनेशन) की संख्या 50 से ज़्यादा नहीं होनी चाहिए.
destinations[]

object (RouteMatrixDestination)

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

travelMode

enum (RouteTravelMode)

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

routingPreference

enum (RoutingPreference)

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

departureTime

string (Timestamp format)

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

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

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

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

अनुमति पाने के लिंक

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

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

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