रास्ते की मैट्रिक्स के लिए, जगहों की जानकारी देना

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

रूट मैट्रिक्स की गिनती करने के लिए, आपको कम से कम एक रूट के शुरुआती पॉइंट और एक रूट के डेस्टिनेशन की जगहें बतानी होंगी.

किसी रूट के लिए जगहें तय करना

किसी जगह को दिखाने के लिए, Waypoint (REST) या Waypoint (gRPC) ऑब्जेक्ट बनाएं. वेपॉइंट की परिभाषा में, इनमें से किसी भी तरीके से जगह तय की जा सकती है:

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

बेहतर और सटीक नतीजे पाने के लिए, अक्षांश/देशांतर के कोऑर्डिनेट या पते की स्ट्रिंग के बजाय, जगह के आईडी का इस्तेमाल करें. जगह के आईडी, यूनीक और साफ़ तौर पर तय होते हैं. साथ ही, इनसे रूटिंग के लिए जियोकोडिंग के फ़ायदे मिलते हैं. जैसे, ऐक्सेस पॉइंट और ट्रैफ़िक वैरिएबल. जगह तय करने के अन्य तरीकों से, ये समस्याएं हो सकती हैं:

  • अक्षांश/देशांतर के कोऑर्डिनेट का इस्तेमाल करने पर, जगह को उन कोऑर्डिनेट के सबसे पास वाली सड़क पर स्नैप किया जा सकता है. ऐसा हो सकता है कि वह सड़क, प्रॉपर्टी का ऐक्सेस पॉइंट न हो या वह सड़क डेस्टिनेशन तक सुरक्षित और तेज़ी से न ले जाती हो.
  • किसी रूट की गिनती करने से पहले, Routes API को पते की स्ट्रिंग को जियोकोड करके, अक्षांश/देशांतर के कोऑर्डिनेट में बदलना होगा. इस कन्वर्ज़न से परफ़ॉर्मेंस पर असर पड़ सकता है.

जगह को जगह के आईडी के तौर पर तय करना

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

Geocoding API और Places API (Place Autocomplete भी शामिल है) से जगह के आईडी वापस पाएं. जगह के आईडी के बारे में ज़्यादा जानने के लिए, जगह के आईडी की खास जानकारी देखें.

यहां दिए गए उदाहरण में, placeId प्रॉपर्टी का इस्तेमाल करके, origin और destination, दोनों के लिए जगह का आईडी पास किया गया है:

{
  "origin":{
    "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o"
  },
  "destination":{
    "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU"
  },
  ...
}

जगह को अक्षांश और देशांतर के कोऑर्डिनेट के तौर पर तय करना

किसी वेपॉइंट में जगह तय करने के लिए, Location (REST) या Location(gRPC) तय करने के लिए अक्षांश/देशांतर के कोऑर्डिनेट का इस्तेमाल करें.

उदाहरण के लिए, latitude और longitude के कोऑर्डिनेट का इस्तेमाल करके, रूट के origin और destination के लिए वेपॉइंट तय करें:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
...
}

जगह को पते की स्ट्रिंग के तौर पर तय करना

पते की स्ट्रिंग, पते के लिए इस्तेमाल की जाने वाली स्ट्रिंग होती हैं. जैसे, "1600 Amphitheatre Parkway, Mountain View, CA". जियोकोडिंग, पते की स्ट्रिंग को अक्षांश और देशांतर के कोऑर्डिनेट में बदलने की प्रोसेस है. जैसे, अक्षांश 37.423021 और देशांतर -122.083739.

जब किसी वेपॉइंट की जगह के तौर पर, पते की स्ट्रिंग पास की जाती है, तो Routes API, स्ट्रिंग को अक्षांश और देशांतर के कोऑर्डिनेट में बदलने के लिए, उसे अंदरूनी तौर पर जियोकोड करता है.

उदाहरण के लिए, किसी रूट की गिनती करने के लिए, पते की स्ट्रिंग का इस्तेमाल करके, रूट के origin और destination के लिए वेपॉइंट तय करें:

{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "450 Serra Mall, Stanford, CA 94305, USA"
  },
  ...
}

इस उदाहरण में, Routes API, दोनों पतों को अक्षांश और देशांतर के कोऑर्डिनेट में बदलने के लिए, जियोकोड करता है.

अगर पते की वैल्यू साफ़ तौर पर तय नहीं है, तो Routes API, मिलते-जुलते पतों में अंतर करने के लिए, खोज शुरू कर सकता है. उदाहरण के लिए, "1st Street" पूरी वैल्यू हो सकती है या "1st street NE" या "1st St SE" के लिए आंशिक वैल्यू हो सकती है. ऐसा हो सकता है कि यह नतीजा, Geocoding API से मिले नतीजे से अलग हो. जगह के आईडी का इस्तेमाल करके, गलत जानकारी मिलने की संभावना को कम किया जा सकता है.

पते के लिए इलाका सेट करना

अगर किसी वेपॉइंट की जगह के तौर पर, पते की अधूरी स्ट्रिंग पास की जाती है, तो हो सकता है कि एपीआई, जियोकोड किए गए अक्षांश/देशांतर के गलत कोऑर्डिनेट का इस्तेमाल करे. उदाहरण के लिए, ड्राइविंग रूट के लिए, "Toledo" को शुरुआती पॉइंट और "Madrid" को डेस्टिनेशन के तौर पर तय करने का अनुरोध किया जाता है:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE"
}

इस उदाहरण में, "Toledo" को स्पेन के बजाय, अमेरिका के ओहियो राज्य में मौजूद एक शहर के तौर पर समझा जाता है. इसलिए, अनुरोध में खाली कलेक्शन दिखता है. इसका मतलब है कि कोई रूट मौजूद नहीं है:

{
  []
}

regionCode पैरामीटर शामिल करके, एपीआई को किसी खास इलाके के हिसाब से नतीजे दिखाने के लिए कॉन्फ़िगर किया जा सकता है. यह पैरामीटर, इलाके के कोड को ccTLD ("टॉप-लेवल डोमेन") के तौर पर, दो वर्णों वाली वैल्यू के तौर पर तय करता है. ज़्यादातर ccTLD कोड, आईएसओ 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ खास मामलों में ये अलग होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका आईएसओ 3166-1 कोड "gb" है. तकनीकी तौर पर, यह "ग्रेट ब्रिटेन और उत्तरी आयरलैंड का यूनाइटेड किंगडम" के लिए है.

"Toledo" से "Madrid" के लिए, दिशा-निर्देशों के अनुरोध में regionCode पैरामीटर शामिल करने पर, सही नतीजे मिलते हैं. ऐसा इसलिए, क्योंकि "Toledo" को स्पेन में मौजूद एक शहर के तौर पर समझा जाता है:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE",
  "regionCode": "es"
}

अब रिस्पॉन्स में, स्पेन के टोलेडो से स्पेन के मैड्रिड तक के रूट की जानकारी दिखती है:

{
  "routes": [
    {
      "distanceMeters": 75330,
      "duration": "4137s",
      ...
    }
  ]
}

नेविगेशन पॉइंट टोकन एक स्ट्रिंग होती है, जो किसी जगह और रूट के अतिरिक्त कॉन्टेक्स्ट को एनकोड करती है. नेविगेशन पॉइंट टोकन की मदद से, दरवाज़ों, लोडिंग डॉक या पिक-अप के लिए तय की गई जगहों के पास मौजूद, खास ऐक्सेस पॉइंट के लिए सटीक रूटिंग की जा सकती है. यह सुविधा, फ़ूड डिलीवरी या राइडशेयर जैसी सेवाओं के लिए काम की है. इनमें पिक-अप या ड्रॉप-ऑफ़ पॉइंट साफ़ तौर पर तय नहीं होता.

Geocoding API के Destinations तरीके को कॉल करके, नेविगेशन पॉइंट टोकन पाया जा सकता है.

नेविगेशन पॉइंट टोकन तय करने के लिए:

  1. Geocoding API के SearchDestinations तरीके से, navigationPointToken पाएं. ज़्यादा जानकारी के लिए, Geocoding API से जुड़ा दस्तावेज़ देखें.
  2. navigationPointToken पास करके, वेपॉइंट बनाएं.

यहां दिए गए उदाहरण में, navigation_point_token प्रॉपर्टी का इस्तेमाल करके, origin और destination, दोनों के लिए नेविगेशन पॉइंट टोकन पास किया गया है:

{
  "origin":{
    "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_ORIGIN"
  },
  "destination":{
    "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_DESTINATION"
  },
  ...
}

जगह को Plus Code के तौर पर तय करना

कई लोगों के पास सटीक पता नहीं होता. इस वजह से, उन्हें डिलीवरी पाने में मुश्किल हो सकती है. इसके अलावा, पते वाले लोग, डिलीवरी को ज़्यादा सटीक जगहों पर स्वीकार करना पसंद कर सकते हैं. जैसे, पीछे का दरवाज़ा या लोडिंग डॉक.

Plus Code, उन लोगों या जगहों के लिए मोहल्ले के पते की तरह होते हैं जिनका कोई पता नहीं होता. सड़क के नाम और नंबर वाले पतों के बजाय, Plus Code, अक्षांश/देशांतर के कोऑर्डिनेट पर आधारित होते हैं. इन्हें नंबर और अक्षरों के तौर पर दिखाया जाता है.

Google ने Plus Code , सभी लोगों और सभी जगहों को पते की सुविधा देने के लिए बनाए हैं. Plus Code, एनकोड की गई जगह का रेफ़रंस होता है. यह अक्षांश/देशांतर के कोऑर्डिनेट से लिया जाता है और किसी इलाके को दिखाता है: 1/8000 डिग्री x 1/8000 डिग्री (भूमध्य रेखा पर करीब 14 मीटर x 14 मीटर) या इससे छोटा. Plus Code का इस्तेमाल, उन जगहों पर मोहल्ले के पतों के विकल्प के तौर पर किया जा सकता है जहां पते मौजूद नहीं हैं या जहां बिल्डिंग के नंबर नहीं हैं या सड़कों के नाम नहीं हैं.

Plus Code को ग्लोबल कोड या कंपाउंड कोड के तौर पर फ़ॉर्मैट किया जाना चाहिए:

  • एक ग्लोबल कोड में, चार वर्णों का इलाके का कोड और छह या उससे ज़्यादा वर्णों का लोकल कोड शामिल होता है.

    उदाहरण के लिए, "1600 Amphitheatre Parkway, Mountain View, CA" पते के लिए, ग्लोबल कोड "849V" और लोकल कोड है "CWC8+R9". इसके बाद, जगह की वैल्यू को "849VCWC8+R9" के तौर पर तय करने के लिए, 10 वर्णों वाले पूरे Plus Code का इस्तेमाल करें.

  • एक कंपाउंड कोड में, छह या उससे ज़्यादा वर्णों का लोकल कोड शामिल होता है. इसके साथ, साफ़ तौर पर तय की गई जगह की जानकारी भी होती है.

    उदाहरण के लिए, "450 Serra Mall, Stanford, CA 94305, USA" पते का लोकल कोड "CRHJ+C3" है. कंपाउंड पते के लिए, लोकल कोड को पते के शहर, राज्य, ज़िप कोड, और देश वाले हिस्से के साथ "CRHJ+C3 Stanford, CA 94305, USA" फ़ॉर्म में जोड़ें.

    उदाहरण के लिए, Plus Code का इस्तेमाल करके, रूट के origin और destination के लिए वेपॉइंट तय करके, रूट की गिनती करें:

    {
      "origin":{
        "address": "849VCWC8+R9"
      },
      "destination":{
        "address": "CRHJ+C3 Stanford, CA 94305, USA"
      },
      "travelMode": "DRIVE"
    }

Plus Code, Google Maps Platform के एपीआई में काम करते हैं. इनमें Place Autocomplete, Place Details, Directions API (लेगसी), और Geocoding API शामिल हैं. उदाहरण के लिए, अक्षांश/देशांतर के कोऑर्डिनेट से तय की गई जगह के Plus Code का पता लगाने के लिए, Geocoding API का इस्तेमाल करके, रिवर्स जियोकोडिंग की जा सकती है.