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