Android के लिए Navigation SDK टूल की मदद से, वेपॉइंट तय करने के बेहतर तरीके मिलते हैं. इससे सटीक रूटिंग और बेहतर तरीके से पहुंचने का अनुभव मिलता है. खास तौर पर, उन जगहों के लिए जहां कई एंट्री या नेविगेशन पॉइंट होते हैं. किसी navigationPointToken का इस्तेमाल करके या ज़्यादा जानकारी के लिए, अक्षांश और देशांतर के कोऑर्डिनेट को जगह के आईडी के साथ जोड़कर, सटीक जगहों के लिए रूटिंग की जा सकती है. अगर लागू हो, तो डेस्टिनेशन को हाइलाइट करने की सुविधा काम करती रहेगी.
बैकग्राउंड
वर्शन 7.4 से पहले, अक्षांश और देशांतर के कोऑर्डिनेट या जगह के आईडी का इस्तेमाल करके, Waypoint तय किया जा सकता था. कभी-कभी, सिर्फ़ अक्षांश और देशांतर के हिसाब से रूटिंग करने पर, ड्रॉप-ऑफ़ या पिक-अप पॉइंट सही नहीं होते. खास तौर पर, बड़ी जगहों, पार्कों या कई एंट्री वाले भवनों के लिए ऐसा हो सकता है. ऐसा हो सकता है कि नतीजा, सड़क के सबसे नज़दीकी सेगमेंट पर स्नैप हो जाए. हालांकि, यह सबसे सही या सुविधाजनक नेविगेशन पॉइंट नहीं हो सकता.
वेपॉइंट के बेहतर विकल्पों से इस समस्या को हल किया जा सकता है. इनकी मदद से, ज़्यादा जानकारी दी जा सकती है.
नेविगेशन पॉइंट टोकन का इस्तेमाल करना
एंट्री, लोडिंग डॉक या पिक-अप के लिए तय की गई जगहों जैसे खास नेविगेशन पॉइंट के लिए, सटीक रूटिंग करने के लिए, navigationPointToken का इस्तेमाल किया जा सकता है. यह टोकन, Geocoding
API के destinations
method तरीके को कॉल करके मिलता है. यह किसी जगह से जुड़े, रूट किए जा सकने वाले खास नेविगेशन पॉइंट को दिखाता है.
नेविगेशन पॉइंट टोकन तय करने के लिए:
- Geocoding API के रिस्पॉन्स के Destinations तरीके से,
navigationPointTokenपाएं. - बिल्डर में
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()
जगह के आईडी, अक्षांश, और देशांतर को एक साथ इस्तेमाल करना
वर्शन 7.4 से, Waypoint बनाते समय, जगह का आईडी, अक्षांश, और देशांतर के कोऑर्डिनेट दोनों दिए जा सकते हैं. यह तरीका तब काम आता है, जब आपको सटीक पॉइंट (अक्षांश/देशांतर) तय करना हो और पूरी जगह (जगह का आईडी) की जानकारी भी देनी हो. इससे, Navigation SDK टूल, डेस्टिनेशन वाली बिल्डिंग को हाइलाइट करके या जगह के आईडी से जुड़े आस-पास के दिलचस्पी के पॉइंट दिखाकर, बेहतर तरीके से पहुंचने का अनुभव दे सकता है.
// 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का इस्तेमाल, पहुंचने के अनुभव को बेहतर बनाने के लिए किया जाता है.- फ़ॉल बैक: अगर SDK टूल को पता चलता है कि दिया गया
placeId, उस जगह से बहुत दूर है जिसके लिएlatlngदिया गया है, तोplaceIdको अनदेखा कर दिया जाएगा. इस मामले में, रूटिंग सिर्फ़latlngके हिसाब से होगी. साथ ही, जगह के हिसाब से पहुंचने के अनुभव को बेहतर बनाने वाली सुविधाएं उपलब्ध नहीं होंगी.
मान्य वेपॉइंट कॉन्फ़िगरेशन की खास जानकारी
| तरीका | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
रूटिंग का तरीका | डेस्टिनेशन को हाइलाइट करना |
|---|---|---|---|---|---|
| सिर्फ़ अक्षांश/देशांतर के कोऑर्डिनेट | सेट करो | मौजूद नहीं है | मौजूद नहीं है | तय किए गए कोऑर्डिनेट के सबसे नज़दीकी सड़क सेगमेंट के लिए रूटिंग | अगर डेस्टिनेशन के बारे में सटीक जानकारी मिलती है, तो दिखाया जाता है |
| सिर्फ़ जगह का आईडी | मौजूद नहीं है | सेट करो | मौजूद नहीं है | जगह के आईडी के लिए, डिफ़ॉल्ट नेविगेशन पॉइंट के लिए रूटिंग | जगह के आईडी से |
| सिर्फ़ नेविगेशन पॉइंट टोकन | मौजूद नहीं है | मौजूद नहीं है | सेट करो | टोकन से दिखाए गए सटीक नेविगेशन पॉइंट के लिए रूटिंग | Geocoding API के अनुरोध के ऑरिजिनल डेस्टिनेशन वाले तरीके में तय किए गए डेस्टिनेशन से |
| अक्षांश/देशांतर के कोऑर्डिनेट और जगह के आईडी को एक साथ इस्तेमाल करना | सेट करो | सेट करो | मौजूद नहीं है | तय किए गए कोऑर्डिनेट के सबसे नज़दीकी सड़क सेगमेंट के लिए रूटिंग | जगह के आईडी से. हालांकि, अगर जगह का आईडी, अक्षांश/देशांतर के कोऑर्डिनेट से बहुत दूर है, तो नहीं दिखाया जाता |