ऐक्सेस पॉइंट पर रूटिंग

Android के लिए उपलब्ध Navigation SDK, वेपॉइंट तय करने के बेहतर तरीके उपलब्ध कराता है. इससे ज़्यादा सटीक रूटिंग और बेहतर अराइवल अनुभव मिलता है. खास तौर पर, उन जगहों के लिए जहां कई प्रवेश द्वार या खास ऐक्सेस पॉइंट होते हैं. navigationPointToken का इस्तेमाल करके या अक्षांश और देशांतर निर्देशांक को जगह के आईडी के साथ जोड़कर, सटीक जगहों पर रूट किया जा सकता है. इससे ज़्यादा जानकारी मिलती है. अगर लागू हो, तो डेस्टिनेशन हाइलाइट करने की सुविधा काम करती रहेगी.

बैकग्राउंड

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

बेहतर वेपॉइंट विकल्पों की मदद से, इस समस्या को हल किया जा सकता है. इससे ज़्यादा कॉन्टेक्स्ट उपलब्ध कराया जा सकता है.

जगह के आईडी, अक्षांश, और देशांतर को एक साथ जोड़ना

v7.4 से, Waypoint बनाते समय, Place ID और अक्षांश और देशांतर के निर्देशांक, दोनों दिए जा सकते हैं. यह तरीका तब काम आता है, जब आपको किसी जगह की सटीक जानकारी (अक्षांश/देशांतर) के साथ-साथ उस जगह के बारे में पूरी जानकारी (प्लेस आईडी) भी देनी हो. इससे Navigation SDK को, मंज़िल पर पहुंचने का बेहतर अनुभव देने में मदद मिलती है. इसके लिए, वह मंज़िल की इमारत को हाइलाइट करता है या Place ID से जुड़ी आस-पास की लोकप्रिय जगहों को दिखाता है.

// Assuming 'placeId' is the Place ID String
// Assuming 'lat' and 'lng' are the double values for latitude and longitude
// Assuming 'destinationName' is a String title for the waypoint

Waypoint waypointWithPlaceIdAndLatLng = Waypoint.builder()
    .setTitle(destinationName)
    .setPlaceIdString(placeId)
    .setLatLng(lat, lng)
    .build();

// Use this waypoint in navigator.setDestinations()

इन बातों पर ध्यान दें:

placeId और latlng, दोनों एट्रिब्यूट की वैल्यू देने पर:

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

नेविगेशन पॉइंट टोकन का इस्तेमाल करना

किसी खास ऐक्सेस पॉइंट, जैसे कि प्रवेश द्वार, लोडिंग डॉक या पिक-अप के लिए तय की गई जगह पर सबसे सटीक तरीके से पहुंचने के लिए, navigationPointToken का इस्तेमाल किया जा सकता है. यह टोकन, Geocoding API के destinations तरीके को कॉल करके हासिल किया जाता है. यह किसी जगह से जुड़ा एक खास नेविगेशन पॉइंट दिखाता है.

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

  1. Geocoding API के Destinations तरीके के जवाब से navigationPointToken पाएं.
  2. बिल्डर में setNavigationPointToken() तरीके का इस्तेमाल करके, Waypoint बनाएं.

ध्यान दें: setNavigationPointToken() का इस्तेमाल करते समय, setLatLng() या setPlaceIdString() का एक साथ इस्तेमाल नहीं किया जा सकता. ये तरीके, setNavigationPointToken() के साथ काम नहीं करते.

// Assuming 'navPointToken' is a String obtained from the destinations method of the Geocoding API
// Assuming 'destinationName' is a String title for the waypoint

Waypoint waypointWithToken = Waypoint.builder()
    .setTitle(destinationName)
    .setNavigationPointToken(navPointToken)
    .build();

// Use this waypoint in navigator.setDestinations()

मान्य वेपॉइंट कॉन्फ़िगरेशन की खास जानकारी

तरीका setLatLng() setPlaceIdString() setNavigationPointToken() रूटिंग का तरीका डेस्टिनेशन हाइलाइट करना
सिर्फ़ LatLng सेट करो अनुपस्थित अनुपस्थित तय किए गए निर्देशांकों के सबसे नज़दीकी सड़क सेगमेंट के रास्ते नहीं दिखाया गया
सिर्फ़ Place ID अनुपस्थित सेट करो अनुपस्थित जगह के आईडी के लिए डिफ़ॉल्ट ऐक्सेस पॉइंट तक पहुंचने के रास्ते PlaceID से
सिर्फ़ नेविगेशन पॉइंट टोकन अनुपस्थित अनुपस्थित सेट करो टोकन से दिखाए गए सटीक ऐक्सेस पॉइंट तक पहुंचने के रास्ते Geocoding API के अनुरोध में, destinations तरीके का इस्तेमाल करके तय की गई मंज़िल से
LatLng और Place ID को मिलाकर बनाया गया सेट करो सेट करो अनुपस्थित तय किए गए निर्देशांकों के सबसे नज़दीकी सड़क सेगमेंट के रास्ते PlaceID से, हालांकि अगर PlaceID, LatLng से बहुत दूर है, तो यह नहीं दिखाया जाता