অ্যান্ড্রয়েডের জন্য নেভিগেশন SDK ওয়েপয়েন্ট নির্দিষ্ট করার উন্নত উপায় প্রদান করে, যা আরও সঠিক রুটিং এবং আরও ভালো আগমনের অভিজ্ঞতা প্রদান করে, বিশেষ করে একাধিক প্রবেশপথ বা নির্দিষ্ট অ্যাক্সেস পয়েন্ট সহ গন্তব্যস্থলের জন্য। আপনি একটি navigationPointToken ব্যবহার করে অথবা অতিরিক্ত প্রেক্ষাপটের জন্য একটি স্থান আইডির সাথে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক একত্রিত করে সুনির্দিষ্ট অবস্থানে রুট করতে পারেন। প্রযোজ্য হলে গন্তব্য হাইলাইটিং বৈশিষ্ট্যটি অব্যাহত থাকবে।
পটভূমি
ভার্সন ৭.৪ এর আগে, আপনি অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক অথবা একটি স্থান আইডি ব্যবহার করে একটি Waypoint নির্ধারণ করতে পারতেন। বেশিরভাগ ব্যবহারের ক্ষেত্রে কার্যকর হলেও, শুধুমাত্র একটি অক্ষাংশ এবং দ্রাঘিমাংশে রাউটিং কখনও কখনও অপ্রত্যাশিত ড্রপ-অফ বা পিক-আপ পয়েন্টের দিকে নিয়ে যেতে পারে, বিশেষ করে বৃহৎ স্থান, পার্ক বা একাধিক প্রবেশপথ সহ ভবনের জন্য। ফলাফলটি নিকটতম রাস্তার অংশে স্ন্যাপ করতে পারে, যা সবচেয়ে সুবিধাজনক বা সঠিক অ্যাক্সেস পয়েন্ট নাও হতে পারে।
উন্নত ওয়েপয়েন্ট বিকল্পগুলি আরও প্রসঙ্গ প্রদানের অনুমতি দিয়ে এটি মোকাবেলা করে।
স্থান আইডি এবং অক্ষাংশ ও দ্রাঘিমাংশ একত্রিত করুন
v7.4 থেকে শুরু করে, আপনি একটি Waypoint তৈরি করার সময় একটি Place ID এবং অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক উভয়ই প্রদান করতে পারেন। এই পদ্ধতিটি কার্যকর যখন আপনি একটি সুনির্দিষ্ট বিন্দু (lat/lng) নির্দিষ্ট করতে চান এবং সামগ্রিক স্থানের প্রেক্ষাপট (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প্রসঙ্গ হিসেবে ব্যবহার করা হয়। - ফলব্যাক: যদি SDK নির্ধারণ করে যে প্রদত্ত
placeIdএমন একটি বৈশিষ্ট্যের সাথে সঙ্গতিপূর্ণ যা প্রদত্তlatlngথেকে অনেক দূরে, তাহলেplaceIdউপেক্ষা করা হবে। এই পরিস্থিতিতে, রাউটিং শুধুমাত্রlatlngএ এগিয়ে যাবে এবং স্থান-নির্দিষ্ট আগমন অভিজ্ঞতার উন্নতি উপলব্ধ থাকবে না।
একটি নেভিগেশন পয়েন্ট টোকেন ব্যবহার করুন
প্রবেশপথ, লোডিং ডক, অথবা মনোনীত পিক-আপ এলাকার মতো নির্দিষ্ট অ্যাক্সেস পয়েন্টগুলিতে সবচেয়ে সুনির্দিষ্ট রাউটিংয়ের জন্য, আপনি একটি navigationPointToken ব্যবহার করতে পারেন। এই টোকেনটি 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()
বৈধ ওয়েপয়েন্ট কনফিগারেশনের সারাংশ
| পদ্ধতি | setLatLng() | setPlaceIdString() | setNavigationPointToken() | রাউটিং আচরণ | গন্তব্য হাইলাইট করা |
|---|---|---|---|---|---|
| শুধুমাত্র অক্ষাংশ | সেট | অনুপস্থিত | অনুপস্থিত | নির্ধারিত স্থানাঙ্কের নিকটতম রাস্তার অংশের রুট | দেখানো হয়নি |
| শুধুমাত্র স্থানের আইডি | অনুপস্থিত | সেট | অনুপস্থিত | স্থান আইডির জন্য ডিফল্ট অ্যাক্সেস পয়েন্টের রুট | প্লেসআইডি থেকে |
| শুধুমাত্র নেভিগেশন পয়েন্ট টোকেন | অনুপস্থিত | অনুপস্থিত | সেট | টোকেন দ্বারা প্রতিনিধিত্ব করা সুনির্দিষ্ট অ্যাক্সেস পয়েন্টের রুট | জিওকোডিং এপিআই অনুরোধের মূল গন্তব্য পদ্ধতিতে সংজ্ঞায়িত গন্তব্য থেকে |
| LatLng এবং স্থান আইডি একত্রিত | সেট | সেট | অনুপস্থিত | নির্ধারিত স্থানাঙ্কের নিকটতম রাস্তার অংশের রুট | PlaceID থেকে, যদিও PlaceID LatLng থেকে খুব দূরে থাকলে তা দেখানো হয় না |