অ্যান্ড্রয়েড অটোমোটিভ ইন্টেন্টের জন্য Google মানচিত্র

অ্যান্ড্রয়েড ইনটেন্টের মাধ্যমে, আপনি অ্যান্ড্রয়েড অটোমোটিভের জন্য গুগল ম্যাপে নেভিগেশন চালু করতে পারেন।

সংক্ষিপ্ত বিবরণ

এই পৃষ্ঠাটি অ্যান্ড্রয়েড অটোমোটিভের জন্য গুগল ম্যাপের সাথে আপনি কী কী উদ্দেশ্য ব্যবহার করতে পারেন তা বর্ণনা করে। বিস্তারিত অ্যান্ড্রয়েড ডেভেলপার ডকুমেন্টেশনের জন্য, নিম্নলিখিতটি দেখুন:

ইন্টেন্ট অনুরোধ

একটি ইনটেন্ট সহ অ্যান্ড্রয়েড অটোমোটিভের জন্য গুগল ম্যাপ চালু করতে, আপনাকে প্রথমে একটি Intent অবজেক্ট তৈরি করতে হবে, যার অ্যাকশন, ইউআরআই এবং প্যাকেজ উল্লেখ করতে হবে।

  • অ্যাকশন। সমস্ত গুগল ম্যাপস ইন্টেন্টকে ভিউ অ্যাকশন বলা হয়, ACTION_VIEW

  • URI। গুগল ম্যাপস ইন্টেন্টগুলি URI এনকোডেড স্ট্রিং ব্যবহার করে যা একটি নির্বাচিত ক্রিয়া নির্দিষ্ট করে, সাথে কিছু ডেটা যা দিয়ে ক্রিয়াটি সম্পাদন করা হবে।

  • প্যাকেজ। setPackage("com.google.android.apps.maps") কল করলে নিশ্চিত হয় যে Android এর জন্য Google Maps অ্যাপটি Intent পরিচালনা করে। যদি প্যাকেজটি সেট না থাকে, তাহলে সিস্টেম নির্ধারণ করে যে কোন অ্যাপগুলি Intent পরিচালনা করতে পারে। যদি একাধিক অ্যাপ উপলব্ধ থাকে, তাহলে আপনাকে জিজ্ঞাসা করা হতে পারে যে আপনি কোন অ্যাপটি ব্যবহার করতে চান।

Intent তৈরি করার পর, আপনি সিস্টেমটিকে বিভিন্ন উপায়ে সংশ্লিষ্ট অ্যাপটি চালু করার অনুরোধ করতে পারেন। একটি সাধারণ পদ্ধতি হল startActivity() পদ্ধতিতে Intent পাস করা। সিস্টেমটি প্রয়োজনীয় অ্যাপটি, এই ক্ষেত্রে, Google Maps, চালু করবে এবং সংশ্লিষ্ট Activity শুরু করবে।

// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);

যদি সিস্টেম এমন কোনও অ্যাপ সনাক্ত করতে না পারে যা ইন্টেন্টে সাড়া দিতে পারে, তাহলে আপনার অ্যাপটি ক্র্যাশ হতে পারে। এই কারণে, ব্যবহারকারীর কাছে এই ইন্টেন্টগুলির একটি উপস্থাপন করার আগে প্রথমে যাচাই করুন যে একটি রিসিভিং অ্যাপ্লিকেশন ইনস্টল করা আছে কিনা।

কোনও অ্যাপ ইনটেন্ট গ্রহণের জন্য উপলব্ধ কিনা তা যাচাই করতে, আপনার Intent অবজেক্টে resolveActivity() কল করুন। যদি ফলাফলটি অ-নাল হয়, তাহলে কমপক্ষে একটি অ্যাপ আছে যা ইনটেন্ট পরিচালনা করতে পারে এবং startActivity() কল করা নিরাপদ। যদি ফলাফলটি null হয়, তাহলে আপনার ইনটেন্ট ব্যবহার করা উচিত নয় এবং যদি সম্ভব হয়, তাহলে ইনটেন্টটি আহ্বানকারী বৈশিষ্ট্যটি অক্ষম করা উচিত।

if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}

উদাহরণস্বরূপ, সিডনির তারোঙ্গা চিড়িয়াখানায় টার্ন-বাই-টার্ন নেভিগেশন চালু করতে, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}

URI এনকোডেড কোয়েরি স্ট্রিং

গুগল ম্যাপস ইন্টেন্টে পাঠানো সমস্ত স্ট্রিং অবশ্যই URI এনকোডেড হতে হবে। উদাহরণস্বরূপ, "1st & Pike, Seattle" স্ট্রিংটি 1st%20%26%20Pike%2C%20Seattle হওয়া উচিত। স্ট্রিং-এর মধ্যে থাকা স্পেসগুলি %20 দিয়ে এনকোড করা যেতে পারে অথবা প্লাস চিহ্ন (+) দিয়ে প্রতিস্থাপন করা যেতে পারে।

আপনার স্ট্রিং এনকোড করার জন্য আপনি android.net.Uri encode() পদ্ধতি ব্যবহার করতে পারেন। উদাহরণস্বরূপ:

Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));

একটি মানচিত্র প্রদর্শন করুন

একটি নির্দিষ্ট অবস্থান এবং জুম স্তরে একটি মানচিত্র প্রদর্শনের জন্য geo: উদ্দেশ্য ব্যবহার করুন। উদাহরণস্বরূপ:

geo:latitude,longitude?z=zoom

পরামিতি

  • latitude এবং longitude মানচিত্রের কেন্দ্রবিন্দু নির্ধারণ করে।

  • z ঐচ্ছিকভাবে মানচিত্রের প্রাথমিক জুম স্তর নির্ধারণ করে। গৃহীত মানগুলি 0 (সমগ্র বিশ্ব) থেকে 21 (পৃথক ভবন) পর্যন্ত হতে পারে। নির্বাচিত স্থানে উপলব্ধ মানচিত্রের তথ্যের উপর নির্ভর করে উপরের সীমা পরিবর্তিত হতে পারে।

উদাহরণ

// Creates an intent that will load a map of San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

একটি অবস্থান অনুসন্ধান করুন

একটি নির্দিষ্ট ভিউপোর্টের মধ্যে অনুসন্ধান কোয়েরি প্রদর্শনের জন্য এই উদ্দেশ্যটি ব্যবহার করুন:

geo:latitude,longitude?q=query
geo:0,0?q=my+street+address

পরামিতি

মানচিত্র প্রদর্শনের জন্য ব্যবহৃত প্যারামিটারগুলি ছাড়াও, অনুসন্ধান এই প্যারামিটারটি সমর্থন করে:

  • q মানচিত্রে হাইলাইট করার জন্য স্থানগুলিকে সংজ্ঞায়িত করে। সমস্ত অনুসন্ধান অনুরোধের জন্য q প্যারামিটারটি প্রয়োজন। এটি একটি স্থানকে স্থানের নাম বা ঠিকানা হিসাবে গ্রহণ করে। স্ট্রিংটি URL-এস্কেপ করা উচিত, তাই "সিটি হল, নিউ ইয়র্ক, NY" এর মতো একটি ঠিকানাকে City+Hall%2CNew+York%2CNY তে রূপান্তর করা উচিত।

স্থানাঙ্ক সহ পক্ষপাত অনুসন্ধান ফলাফল

খুব নির্দিষ্ট কোনও স্থান অনুসন্ধান করার সময়, q প্যারামিটারে অন্তর্ভুক্ত থাকলে অক্ষাংশ এবং দ্রাঘিমাংশ কঠোরভাবে প্রয়োজন হয় না। তবে, যদি আপনি সঠিক ঠিকানাটি না জানেন বা কোয়েরিটি অস্পষ্ট হয়, তাহলে আপনি একটি স্থানাঙ্ক নির্দিষ্ট করে অনুসন্ধানের ফলাফলগুলিকে পক্ষপাতদুষ্ট করার চেষ্টা করতে পারেন। উদাহরণস্বরূপ, "মেইন স্ট্রিট" এর জন্য ঠিকানা অনুসন্ধান করলে অনেক বেশি ফলাফল পাওয়া যেতে পারে:

// Searching for "101 Main Street" with no lat/long might return too many results
Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

ইনটেন্ট URI-তে অক্ষাংশ এবং দ্রাঘিমাংশ যোগ করলে ফলাফলগুলি একটি নির্দিষ্ট এলাকার দিকে অগ্রসর হয়:

// Searches for "101 Main Street" near San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=101+main+street");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

রুট ধরে খুঁজুন

যদি নেভিগেশনের সময় কোনও অনুসন্ধানের উদ্দেশ্য geo:latitude,longitude?q=query পাঠানো হয়, তাহলে এটি রুট জুড়ে একটি অনুসন্ধান শুরু করে এবং অক্ষাংশ এবং দ্রাঘিমাংশ উপেক্ষা করা হয়।

পূর্বনির্ধারিত বিভাগগুলির জন্য অনুসন্ধান করুন

গাড়ির সাথে ইন্টিগ্রেশন সমর্থন করার জন্য, গাড়িতে গুগল ম্যাপস এমন একটি ইন্টেন্ট সমর্থন করে যা এই পূর্বনির্ধারিত বিভাগগুলি প্রদর্শন করে:

বিভাগ ইন্টেন্ট ক্যাটাগরি এনকোডিং
পেট্রোল পাম্প gas_station
রেস্তোরাঁ restaurant
ক্যাফে cafe
পার্কিং parking
বৈদ্যুতিক গাড়ির চার্জিং স্টেশন electric_vehicle_charging_station

ক্যাটাগরির ইন্টেন্টটি geo:lat,lng?c=category আকারে।

ব্যবহারকারীর লোকেল সেটিংস নির্বিশেষে c=<pre-defined category> ব্যবহার করুন। Google Maps এই বিভাগের জন্য উপযুক্ত লোকেলে প্রাসঙ্গিক ফলাফল প্রদর্শন করে। উদাহরণস্বরূপ:

// Search for gas stations nearby
Uri gmmIntentUri = Uri.parse("geo:0,0?c=gas_station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

অন্যান্য শ্রেণীবদ্ধ অনুসন্ধান

যদি আপনি ব্যবহারকারীর লোকেলে একটি সাধারণ অনুসন্ধান শব্দ (যেমন "রেস্তোরাঁ" বা "কফি শপ") ব্যবহার করেন, তাহলে Google Maps for Android Automotive মানদণ্ডের সাথে মিলে যাওয়া ব্যবসার তালিকা অনুসন্ধান করে। যদি geo: intent-এ একটি নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশ প্রদান করা হয়, তাহলে অনুসন্ধানটি সেই অবস্থানের চারপাশে কেন্দ্রীভূত হয়। যদি কোনও অবস্থান নির্দিষ্ট না থাকে (যেমন, geo:0,0 ), তাহলে Google Maps কাছাকাছি ব্যবসার তালিকা খুঁজে বের করার চেষ্টা করে। উদাহরণস্বরূপ:

// Search for restaurants nearby
Uri gmmIntentUri = Uri.parse("geo:0,0?q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

আপনি কোয়েরি স্ট্রিং-এর সাথে একটি জুম প্যারামিটার নির্দিষ্ট করে অনুসন্ধান ফলাফলগুলিকে আরও পক্ষপাতী করতে পারেন। নিম্নলিখিত উদাহরণে, কাছাকাছি শহরের পরিবর্তে শহর পর্যায়ের রেস্তোরাঁগুলি খুঁজে পেতে 10 চেষ্টা জুম যোগ করা হয়েছে:

Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?z=10&q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

একের পর এক নেভিগেশন চালু করুন

অন্যান্য অ্যান্ড্রয়েড ডিভাইসে টার্ন-বাই-টার্ন নেভিগেশন চালু করার বিষয়ে ডকুমেন্টেশনের জন্য, অ্যান্ড্রয়েডের জন্য গুগল ম্যাপস ইনটেন্টে টার্ন-বাই-টার্ন নেভিগেশন চালু করুন দেখুন।

এই উদ্দেশ্যটি ব্যবহার করে Google Maps নেভিগেশন চালু করুন, এক বা একাধিক ঠিকানা বা স্থানাঙ্কের দিকে পালাক্রমে দিকনির্দেশনা প্রদান করুন। দিকনির্দেশনা সর্বদা ব্যবহারকারীর বর্তমান অবস্থান থেকে দেওয়া হয়।

google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename

পরামিতি

নেভিগেশন চালু করতে, waypoints সহ place বা q ব্যবহার করুন, যা ঐচ্ছিক। ঐচ্ছিকভাবে একটি ওয়েপয়েন্টকে চার্জিং স্টেশন হিসেবে চিহ্নিত করতে, Google Maps-এ একটি বৈদ্যুতিক গাড়ির ট্রিপ প্ল্যান পাঠান দেখুন।

  • q নেভিগেশন অনুসন্ধানের জন্য শেষবিন্দু নির্ধারণ করে। এটি একটি অক্ষাংশ এবং দ্রাঘিমাংশ অথবা একটি কোয়েরি ফর্ম্যাট করা ঠিকানা হতে পারে। যদি এটি একটি কোয়েরি স্ট্রিং হয় যা একাধিক ফলাফল প্রদান করে, তাহলে প্রথম ফলাফলটি নির্বাচন করা হবে।

  • place এন্ডপয়েন্টকে home অথবা work হিসেবে সেট করে। ব্যবহারকারীর বাড়িতে নেভিগেট করার জন্য home এবং ব্যবহারকারীর কর্মক্ষেত্রে নেভিগেট করার জন্য work উল্লেখ করে।

  • avoid রুট যেসব বৈশিষ্ট্য এড়িয়ে চলার চেষ্টা করবে তা সেট করে। avoid ঐচ্ছিক এবং এক বা একাধিকতে সেট করা যেতে পারে:

    • টোল জন্য t
    • হাইওয়ের জন্য h
    • ফেরির জন্য f
  • waypoints q দ্বারা নির্দিষ্ট করা চূড়ান্ত গন্তব্যে যাওয়ার দিকনির্দেশনা রুট করার জন্য এক বা একাধিক মধ্যস্থতাকারী স্থান নির্দিষ্ট করে। আপনি পাইপ অক্ষর ( | ) ব্যবহার করে স্থানগুলিকে পৃথক করার মাধ্যমে একাধিক ওয়েপয়েন্ট নির্দিষ্ট করতে পারেন—উদাহরণস্বরূপ, Berlin,Germany|Paris,France । আপনি যতগুলি প্রয়োজন ততগুলি ওয়েপয়েন্ট ব্যবহার করতে পারেন। ওয়েপয়েন্টগুলি URL-এ তালিকাভুক্ত একই ক্রমে রুটে যুক্ত করা হবে। প্রতিটি ওয়েপয়েন্ট হয় একটি ঠিকানা হতে পারে অথবা কমা দ্বারা পৃথক করা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হতে পারে; এবং, আপনার একই উদ্দেশ্য অনুসারে ঠিকানা এবং অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক থাকতে পারে। স্ট্রিংগুলি URL-এস্কেপ করা উচিত, তাই "বার্লিন, জার্মানি|প্যারিস, ফ্রান্স" এর মতো ওয়েপয়েন্টগুলিকে Berlin%2CGermany%7CParis%2CFrance তে রূপান্তরিত করা উচিত।

উদাহরণ

এই ইন্টেন্ট অস্ট্রেলিয়ার সিডনির তারোঙ্গা চিড়িয়াখানায় পালাক্রমে নেভিগেশনের অনুরোধ করবে:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

আপনি যদি টোল দিতে বা ফেরিতে চড়তে না চান, তাহলে আপনি এমন রুটিংয়ের জন্য অনুরোধ করতে পারেন যা এই পরিস্থিতিগুলি এড়াতে চেষ্টা করে:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

অথবা যদি আপনি আপনার বাড়িতে যেতে চান, তাহলে ব্যবহার করুন:

Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

নিম্নলিখিত তিনটি ঠিকানায় পর্যায়ক্রমে নেভিগেশন শুরু করতে, চূড়ান্ত গন্তব্য q হিসাবে Taronga Zoo এবং ওয়েপয়েন্ট হিসাবে Google Sydney এবং Sydney Opera House অতিক্রম করুন:

  1. গুগল সিডনি

  2. সিডনি অপেরা হাউস

  3. তারোঙ্গা চিড়িয়াখানা, সিডনি, অস্ট্রেলিয়া

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

q এর মতো, আপনি ঠিকানার পরিবর্তে কমা দ্বারা পৃথক অক্ষাংশ এবং দ্রাঘিমাংশ দ্বারা যেকোনো ওয়েপয়েন্ট উপস্থাপন করতে পারেন। উদাহরণস্বরূপ, ঠিকানার পরিবর্তে সিডনি অপেরা হাউসের জন্য অক্ষাংশ দ্রাঘিমাংশ অতিক্রম করার সময় একই নেভিগেশন চালু করতে:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

গুগল ম্যাপে একটি বৈদ্যুতিক গাড়ির ভ্রমণ পরিকল্পনা পাঠান

এই মাল্টি-ডেস্টিনেশন নেভিগেশন ইন্টেন্ট ব্যবহার করে কিছু গন্তব্যস্থলকে ইলেকট্রিক ভেহিকেল (EV) চার্জিং স্টপ হিসেবে নির্দিষ্ট করুন। এই ইন্টেন্ট, যা মাল্টি-ওয়েপয়েন্ট ইন্টেন্টকে প্রসারিত করে, EV ট্রিপ প্ল্যানিং অ্যাপ এবং গুগল ম্যাপের মধ্যে চার্জিং স্টপ তথ্য সিঙ্ক করে চালকদের তাদের গন্তব্যে পৌঁছানোর জন্য পর্যাপ্ত ইলেকট্রিক ভেহিকেল ব্যাটারি চার্জ বজায় রাখতে সাহায্য করে।

চার্জিং স্টপ, ট্রিপের উদ্দেশ্যের জন্য:

  • একটি নাম এবং অলংকরণ থাকতে হবে
  • ঐচ্ছিকভাবে একটি পাওয়ার আউটপুট থাকতে পারে, যা চার্জিং সময় গণনা করার জন্য ব্যবহার করা যেতে পারে।

সংযোগকারীর ধরণ, মোট পরিমাণ, গতি এবং রিয়েল-টাইম উপলব্ধতা, সমর্থিত অর্থপ্রদানের পদ্ধতি এবং আগ্রহের স্থান (POI) এর মতো সমৃদ্ধ ডেটা প্রদর্শনের জন্য Google চার্জিং স্টেশনের নাম এবং ল্যাট-লং ব্যবহার করে। উদাহরণস্বরূপ, নেভিগেশনের শেষ অংশের জন্য বাইরের পার্কিং লটের মধ্যে ড্রাইভিং দিকনির্দেশনা, খোলার সময়, রেটিং। চার্জিং স্টেশনগুলি Google এর ডেটার সাথে ভালভাবে মেলে তা নিশ্চিত করতে, একটি নির্দিষ্ট <brand name> ব্যবহার করুন — উদাহরণস্বরূপ, ChargePoint

পরামিতি

নিম্নলিখিত প্যারামিটারগুলি আপনাকে চূড়ান্ত গন্তব্য এবং যেকোনো ওয়েপয়েন্টের বিশদ বিবরণ নির্দিষ্ট করার অনুমতি দেয়, যার মধ্যে EV চার্জিং স্টেশন হিসাবে মনোনীত স্থানগুলিও অন্তর্ভুক্ত।

চূড়ান্ত গন্তব্য

চূড়ান্ত গন্তব্য হিসেবে চার্জিং স্টেশন সেট করতে, ব্যবহার করুন:

  • q : চার্জিং স্টেশনের অন্তিম মূল্য অবশ্যই থাকতে হবে।
  • q_type : 1 নির্দিষ্ট করে যে চূড়ান্ত গন্তব্য হল একটি চার্জিং স্টেশন।
  • q_name : চূড়ান্ত গন্তব্যের নাম। q_type 1 হলে প্রয়োজন।
  • q_power_output_kw : কিলোওয়াটে চার্জিং স্টেশনের পাওয়ার আউটপুটের জন্য একটি দ্বিগুণ সংখ্যা। ঐচ্ছিক।

ওয়েপয়েন্ট

ওয়েপয়েন্টের জন্য, সমস্ত প্যারামিটারগুলি সমান্তরাল, পাইপ-বিভাজিত ( | ) অ্যারে যা ওয়েপয়েন্টের মতো একই ক্রমে মান ধারণ করে, চূড়ান্ত গন্তব্য অন্তর্ভুক্ত করে না। সমান্তরাল অ্যারেতে উপাদানের সংখ্যার অমিলকে একটি বিকৃত উদ্দেশ্য হিসাবে বিবেচনা করা হয়।

এক বা একাধিক চার্জিং স্টেশনের ওয়েপয়েন্ট যোগ করতে, নিম্নলিখিত প্যারামিটারগুলি ব্যবহার করুন, যার সবকটি ঐচ্ছিক। যদি কোনও একটি গন্তব্যকে চার্জিং স্টেশন হিসেবে চিহ্নিত করা হয়, তাহলে সেই গন্তব্যের জন্য ওয়েপয়েন্টের নাম বাধ্যতামূলক হয়ে যায়।

  • waypoints : টার্ন-বাই-টার্ন নেভিগেশন ইনটেন্টে বর্ণিত ওয়েপয়েন্টের তালিকা। চার্জিং স্টেশন ওয়েপয়েন্টের জন্য অবশ্যই একটি ল্যাট-লং মান হতে হবে।

  • waypoint_types : একটি সংখ্যা হিসাবে নির্দিষ্ট করা প্রতিটি ওয়েপয়েন্টের ধরণ। 0 হল যেকোনো স্টপ (ডিফল্ট মান) এবং 1 হল চার্জিং স্টেশন।

  • waypoint_names : ওয়েপয়েন্টের নাম। চার্জিং স্টেশনের জন্য এই ক্ষেত্রটি বাধ্যতামূলক।

  • waypoint_power_outputs_kw : কিলোওয়াটে চার্জিং স্টেশন পাওয়ারের দ্বিগুণ সংখ্যা। চার্জিং স্টেশনের জন্য, আপনি ঐচ্ছিকভাবে একটি ওয়েপয়েন্ট পাওয়ার আউটপুট মান নির্দিষ্ট করতে পারেন, যা মিলিত স্টেশনটি না পাওয়া গেলে ফলব্যাক হিসাবে ব্যবহৃত হয়। খালি স্লট মানে কোনও মান প্রদান করা হয়নি।

ব্যবহারকারীর অভিজ্ঞতা (UX) আচরণ

একাধিক গন্তব্যস্থলে ভ্রমণের উদ্দেশ্যে, রুট ওভারভিউ স্ক্রিন প্রদর্শিত হয়, কিন্তু নেভিগেশন স্বয়ংক্রিয়ভাবে শুরু হয় না।

সঠিকভাবে ফর্ম্যাট করা ইন্টেন্টের জন্য, গুগল ম্যাপস ভ্রমণের জন্য একটি রুট ওভারভিউ স্ক্রিন উপস্থাপন করবে। রুট ওভারভিউ স্ক্রিনে সমস্ত ওয়েপয়েন্ট এবং ইন্টেন্ট থেকে চূড়ান্ত গন্তব্য প্রদর্শিত হবে, যেখানে প্রযোজ্য ক্ষেত্রে চার্জিং সুপারিশ থাকবে।

চার্জিং স্টেশন হিসেবে চিহ্নিত যেকোনো ওয়েপয়েন্ট বা চূড়ান্ত গন্তব্যের জন্য, গুগল ম্যাপস গুগলের ডাটাবেসে একটি মিলিত স্থান অনুসন্ধান করবে। চার্জিং স্টেশনগুলির জন্য সর্বোত্তম সম্ভাব্য তথ্য প্রদর্শিত হচ্ছে তা নিশ্চিত করতে:

  • যদি কোনও মিল পাওয়া যায়, তাহলে গুগল ম্যাপস ইউজার ইন্টারফেসে (UI) চার্জিং স্টেশনটি প্রদর্শন করতে এবং চার্জিং স্টেশনের জন্য একটি চার্জিং সুপারিশ প্রদান করতে গুগল ডেটা ব্যবহার করে।

  • যদি মিল খুঁজে না পাওয়া যায়, তাহলে চার্জিং স্টেশনের উদ্দেশ্যে দেওয়া ডেটা (অন্তর্বর্তী, নাম এবং পাওয়ার আউটপুট) ব্যবহার করে UI-তে এই চার্জিং স্টেশনটি প্রদর্শন করা হবে এবং এই চার্জিং স্টেশনে চার্জিং সুপারিশ প্রদান করা হবে।

উদাহরণ

নিম্নলিখিত উদাহরণগুলি বিভিন্ন EV ট্রিপ পরিকল্পনার পরিস্থিতির জন্য কীভাবে উদ্দেশ্য তৈরি করতে হয় তা ব্যাখ্যা করে, যার মধ্যে একাধিক চার্জিং স্টেশনের মাধ্যমে নেভিগেট করা এবং অজানা পাওয়ার আউটপুট পরিচালনা করা অন্তর্ভুক্ত।

একাধিক চার্জিং স্টেশনের মাধ্যমে চূড়ান্ত গন্তব্যে নেভিগেট করুন

পরবর্তী উদ্দেশ্যটি চার্জপয়েন্ট এবং এভি, দুটি চার্জিং স্টেশনের মাধ্যমে চূড়ান্ত গন্তব্য, পোর্ট ম্যাককোয়ারি এনএসডব্লিউতে নেভিগেট করে।

গন্তব্যস্থল ক্রমানুসারে:

  1. চার্জপয়েন্ট চার্জিং স্টেশন (অবস্থান: -৩২.৯৫৯৯১৮৮,১৫১.৬২৪০৮০৬, পাওয়ার আউটপুট: ৬.৬ কিলোওয়াট)

  2. এভি চার্জিং স্টেশন (অবস্থান: -৩১.৯৪৩২৫৩৯,১৫২.৪৬৯৯৮০৮, পাওয়ার আউটপুট: ৩৫০ কিলোওয়াট)

  3. পোর্ট ম্যাককোয়ারি এনএসডব্লিউ

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=Port+Macquarie+NSW"
            + "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
            + "&waypoint_types=1%7C1"
            + "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
            + "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

অজানা পাওয়ার আউটপুট

যদি পাওয়ার আউটপুট মান অজানা থাকে, তাহলে waypoint_power_outputs_kw এর প্রাসঙ্গিক স্লটটি খালি রাখুন। অথবা যদি সমস্ত স্লট খালি থাকে, তাহলে waypoint_power_outputs_kw প্যারামিটারটি নির্দিষ্ট করার প্রয়োজন নেই।

গন্তব্যস্থল ক্রমানুসারে:

  1. চার্জপয়েন্ট চার্জিং স্টেশন (অবস্থান: -৩২.৯৫৯৯১৮৮,১৫১.৬২৪০৮০৬, পাওয়ার আউটপুট: অজানা)

  2. পোর্ট ম্যাককোয়ারি এনএসডব্লিউ

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=Port+Macquarie+NSW"
            + "&waypoints=-32.9599188%2C151.6240806"
            + "&waypoint_types=1"
            + "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

চূড়ান্ত গন্তব্যস্থলটিকে চার্জিং স্টেশন হিসেবে চিহ্নিত করুন

চূড়ান্ত গন্তব্যস্থলটিকে চার্জিং স্টেশন হিসেবে চিহ্নিত করতে, q_type , q_name এবং q_power_output_kw প্যারামিটারগুলি নির্দিষ্ট করুন।

গন্তব্যস্থল ক্রমানুসারে:

  1. তারোঙ্গা চিড়িয়াখানা, সিডনি, অস্ট্রেলিয়া

  2. চার্জপয়েন্ট চার্জিং স্টেশন (অবস্থান: -৩২.৯৫৯৯১৮৮,১৫১.৬২৪০৮০৬, পাওয়ার আউটপুট: অজানা)

  3. এভি চার্জিং স্টেশন (অবস্থান: -৩১.৯৪৩২৫৩৯,১৫২.৪৬৯৯৮০৮, পাওয়ার আউটপুট: ৩৫০ কিলোওয়াট)

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
            + "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
            + "&waypoint_types=0%7C1"
            + "&waypoint_names=%7CChargePoint+Charging+Station"
            + "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

কর্মের উদ্দেশ্য

ইন্টারফেস সহ নিম্নলিখিত অ্যাকশন ইন্টেন্টগুলি উপলব্ধ:

অ্যাকশন বিবরণ
geo.action:?act=mute সমস্ত নেভিগেশন ভয়েস নির্দেশিকা মিউট করে।
geo.action:?act=unmute নেভিগেশন ভয়েস নির্দেশিকা আনমিউট করে।
geo.action:?act=show_traffic মানচিত্রে ট্র্যাফিক লাইন দেখায়।
geo.action:?act=hide_traffic মানচিত্রে ট্র্যাফিক লাইন লুকায়।
geo.action:?act=show_satellite মানচিত্রে স্যাটেলাইট চিত্র দেখায়।
geo.action:?act=hide_satellite মানচিত্রে স্যাটেলাইট চিত্র লুকায়।
geo.action:?act=show_alternates গুগল ম্যাপস বিকল্প রুট স্ক্রিনটি খোলে (শুধুমাত্র নেভিগেট করার সময় কাজ করে)।
geo.action:?act=route_overview গুগল ম্যাপস রুট ওভারভিউ স্ক্রিনটি খোলে (শুধুমাত্র নেভিগেট করার সময় কাজ করে)।
geo.action:?act=query_next_turn গুগল ম্যাপস পরবর্তী মোড়ের কথা বলে (শুধুমাত্র নেভিগেট করার সময় কাজ করে)।
geo.action:?act=distance_to_next_turn গুগল ম্যাপস পরবর্তী মোড়ের দূরত্ব বলে (শুধুমাত্র নেভিগেট করার সময় কাজ করে)।
geo.action:?act=time_to_next_turn গুগল ম্যাপস পরবর্তী মোড় নেওয়ার সময় বলে দেয় (শুধুমাত্র নেভিগেট করার সময় কাজ করে)।
geo.action:?act=distance_to_destination গুগল ম্যাপস গন্তব্যের দূরত্ব বলে (শুধুমাত্র নেভিগেট করার সময় কাজ করে)।
geo.action:?act=go_back গুগল ম্যাপস UI-তে আগের স্ক্রিনে ফিরে যায়।
geo.action:?act=my_location গুগল ম্যাপস ব্যবহারকারীর অবস্থানের মানচিত্রটি সাম্প্রতিক করে।
geo.action:?act=show_map গুগল ম্যাপস সমস্ত খোলা কার্ড বন্ধ করে দেয় এবং ম্যাপ ভিউতে ফিরে যায়।
geo.action:?act=query_current_road গুগল ম্যাপ বর্তমান রাস্তার কথা বলে।
geo.action:?act=query_destination গুগল ম্যাপ গন্তব্যস্থলের কথা বলে।
geo.action:?act=traffic_report গুগল ম্যাপস ট্র্যাফিক রিপোর্টের কথা বলে।
geo.action:?act=clear_search_results গুগল ম্যাপস অনুসন্ধান ফলাফলের স্ক্রিনটি বন্ধ করে দেয় (যদি এটি খোলা থাকে)।
geo.action:?act=apply_electric_vehicle_connector_filter বৈদ্যুতিক গাড়ির চার্জিং স্টেশন অনুসন্ধান ফলাফলের জন্য সংযোগকারী ধরণের ফিল্টার প্রয়োগ করে।
geo.action:?act=remove_electric_vehicle_connector_filter বৈদ্যুতিক গাড়ির চার্জিং স্টেশন অনুসন্ধান ফলাফলের জন্য সংযোগকারী ধরণের ফিল্টার সরিয়ে দেয়।
geo.action:?act=apply_electric_vehicle_payment_filter বৈদ্যুতিক গাড়ির চার্জিং স্টেশন অনুসন্ধান ফলাফলের জন্য পেমেন্ট ফিল্টার প্রয়োগ করে।
geo.action:?act=remove_electric_vehicle_payment_filter বৈদ্যুতিক গাড়ির চার্জিং স্টেশন অনুসন্ধান ফলাফলের জন্য পেমেন্ট ফিল্টার সরিয়ে দেয়।
geo.action:?act=apply_electric_vehicle_fast_charging_filter বৈদ্যুতিক গাড়ির চার্জিং স্টেশন অনুসন্ধান ফলাফলের জন্য দ্রুত চার্জিং ফিল্টার প্রয়োগ করে।
geo.action:?act=remove_electric_vehicle_fast_charging_filter বৈদ্যুতিক গাড়ির চার্জিং স্টেশন অনুসন্ধান ফলাফলের জন্য দ্রুত চার্জিং ফিল্টার সরিয়ে দেয়।
geo.action:?act=avoid_tolls ব্যবহারকারী যদি নেভিগেট করেন, তাহলে গুগল ম্যাপসকে টোলযুক্ত রুট এড়িয়ে চলতে বলে। বর্তমান রুটে টোল থাকলে এর ফলে রুট পরিবর্তন করা হতে পারে।
geo.action:?act=allow_tolls যদি ব্যবহারকারী নেভিগেট করেন, তাহলে গুগল ম্যাপকে টোল সহ রুটগুলিকে অনুমতি দিতে বলে। যদি টোলগুলি অনুমতি দেওয়ার ফলে আরও ভাল রুট পাওয়া যায় তবে এর ফলে রুট পরিবর্তন করা হতে পারে।
geo.action:?act=avoid_ferries ব্যবহারকারী যদি নেভিগেট করেন, তাহলে Google Maps-কে ফেরিযুক্ত রুটগুলি এড়িয়ে চলতে বলে। বর্তমান সক্রিয় রুটে ফেরি থাকলে এর ফলে রুট পরিবর্তন হতে পারে।
geo.action:?act=allow_ferries ব্যবহারকারী যদি নেভিগেট করেন, তাহলে Google Maps-কে ফেরি সহ রুটগুলিকে অনুমতি দিতে বলে। যদি ফেরিগুলিকে অনুমতি দেওয়ার ফলে আরও ভাল রুট পাওয়া যায় তবে এর ফলে রুট পরিবর্তন করা হতে পারে।
geo.action:?act=avoid_highways যদি ব্যবহারকারী নেভিগেট করেন, তাহলে গুগল ম্যাপকে হাইওয়েযুক্ত রুট এড়িয়ে চলতে বলে। বর্তমান সক্রিয় রুটে হাইওয়ে থাকলে এর ফলে রুট পরিবর্তন হতে পারে।
geo.action:?act=allow_highways ব্যবহারকারী যদি নেভিগেট করেন, তাহলে গুগল ম্যাপকে হাইওয়ে সহ রুটগুলিকে অনুমতি দিতে বলে। হাইওয়েগুলিকে অনুমতি দেওয়ার ফলে যদি আরও ভাল রুট পাওয়া যায় তবে এর ফলে রুট পরিবর্তন করা হতে পারে।
geo.action:?act=eta যদি ব্যবহারকারী নেভিগেট করেন, তাহলে গুগল ম্যাপ গন্তব্যে পৌঁছানোর আনুমানিক সময় বলে (উদাহরণস্বরূপ, সকাল ৯:১৫)।
geo.action:?act=time_to_destination যদি ব্যবহারকারী নেভিগেট করেন, তাহলে গুগল ম্যাপ গন্তব্যে পৌঁছানোর প্রত্যাশিত সময় বলে (উদাহরণস্বরূপ, ১৫ মিনিট)।
geo.action:?act=exit_navigation নেভিগেশন থেকে বেরিয়ে আসে।
geo.action:?act=select_search_result&id=0 যদি অনুসন্ধানের ফলাফল স্ক্রিনে প্রদর্শিত হয় (যেমনটি সাথের ছবিতে দেখানো হয়েছে), তাহলে এই ক্রিয়াটি প্রদত্ত ID প্যারামিটারের উপর ভিত্তি করে n তম ফলাফলে নেভিগেশন শুরু করে। মনে রাখবেন সূচকটি 0-ভিত্তিক (অর্থাৎ, geo.action:?act=select_search_result&id=0 তালিকার প্রথম ফলাফলটি নির্বাচন করবে)।

অনুসন্ধানের ফলাফল স্ক্রিনে দেখানো হয়