অ্যান্ড্রয়েডের জন্য গুগল ম্যাপস ইন্টেন্টস

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

অ্যান্ড্রয়েড অটোমোটিভ ওএস (AAOS) প্ল্যাটফর্মের জন্য নির্দিষ্ট কিছু বিবেচ্য বিষয় এবং অতিরিক্ত ইন্টেন্ট উপলব্ধ রয়েছে। আরও বিস্তারিত তথ্যের জন্য ‘Google Maps for Android Automotive Intents’ ডকুমেন্টেশন দেখুন।

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

একটি Intent অবজেক্টে আপনি যে কাজটি করতে চান (যেমন "মানচিত্র দেখানো" বা "বিমানবন্দরে যাওয়ার দিকনির্দেশনা দেখানো") তা বর্ণনা করার মাধ্যমে ইন্টেন্ট আপনাকে অন্য কোনো অ্যাপে একটি অ্যাক্টিভিটি শুরু করার সুযোগ দেয়। অ্যান্ড্রয়েডের জন্য গুগল ম্যাপস অ্যাপটি বিভিন্ন ধরনের ইন্টেন্ট সমর্থন করে, যা আপনাকে গুগল ম্যাপস অ্যাপটি চালু করতে এবং চারটি কাজের মধ্যে যেকোনো একটি সম্পাদন করতে দেয়:

  1. একটি নির্দিষ্ট অবস্থান এবং জুম স্তরে মানচিত্র প্রদর্শন করুন।
  2. অবস্থান বা স্থান অনুসন্ধান করুন এবং সেগুলোকে মানচিত্রে প্রদর্শন করুন।
  3. এক স্থান থেকে অন্য স্থানে যাওয়ার দিকনির্দেশনা অনুরোধ করুন। তিন ধরনের পরিবহনের জন্য দিকনির্দেশনা দেওয়া যেতে পারে: গাড়ি, হাঁটা, সাইকেল।
  4. গুগল স্ট্রিট ভিউতে প্যানোরামা চিত্র প্রদর্শন করুন।

এই পৃষ্ঠায় অ্যান্ড্রয়েডের জন্য গুগল ম্যাপস অ্যাপের সাথে ব্যবহারযোগ্য ইনটেন্টগুলো বর্ণনা করা হয়েছে। ইনটেন্ট সম্পর্কে আরও তথ্যের জন্য, ‘ইনটেন্ট ও ইনটেন্ট ফিল্টার’ এবং ‘সাধারণ ইনটেন্ট’ দেখুন।

অভিপ্রায় অনুরোধ

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

  • অ্যাকশন : সমস্ত গুগল ম্যাপস ইন্টেন্ট একটি ভিউ অ্যাকশন — ACTION_VIEW হিসেবে কল করা হয়।
  • URI : গুগল ম্যাপস ইন্টেন্টগুলো ইউআরএল-এনকোডেড URI ব্যবহার করে, যা একটি নির্বাচিত অ্যাকশন এবং সেই অ্যাকশনটি সম্পাদনের জন্য প্রয়োজনীয় কিছু ডেটা নির্দিষ্ট করে।
  • প্যাকেজ : setPackage("com.google.android.apps.maps") কল করলে এটি নিশ্চিত হয় যে অ্যান্ড্রয়েডের জন্য গুগল ম্যাপস অ্যাপটি ইন্টেন্টটি পরিচালনা করবে। যদি প্যাকেজটি সেট করা না থাকে, তবে সিস্টেম নির্ধারণ করে কোন অ্যাপগুলো Intent পরিচালনা করতে পারবে। যদি একাধিক অ্যাপ উপলব্ধ থাকে, তবে ব্যবহারকারীকে জিজ্ঞাসা করা হতে পারে যে তিনি কোন অ্যাপটি ব্যবহার করতে চান।

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

জাভা

// Create a Uri from an intent string. Use the result to create an Intent.
Uri gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988");
// Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
// 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);

কোটলিন

// Create a Uri from an intent string. Use the result to create an Intent.
val gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988")
// Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
// 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() কল করুন। যদি ফলাফলটি নন-নাল (non-null) হয়, তাহলে ইন্টেন্টটি হ্যান্ডেল করার মতো অন্তত একটি অ্যাপ আছে এবং startActivity() কল করা নিরাপদ। যদি ফলাফলটি null (null) হয়, তাহলে ইন্টেন্টটি ব্যবহার করবেন না এবং সম্ভব হলে, যে ফিচারটি ইন্টেন্টটি কল করে সেটি নিষ্ক্রিয় করে দিন।

জাভা

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

কোটলিন

mapIntent.resolveActivity(packageManager)?.let {
    ...
}

উদাহরণস্বরূপ, সান ফ্রান্সিসকোর একটি মানচিত্র প্রদর্শন করতে, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

জাভা

Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
    startActivity(mapIntent);
}

কোটলিন

val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
mapIntent.resolveActivity(packageManager)?.let {
    startActivity(mapIntent)
}

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

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

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

জাভা

Uri gmmIntentUri =
    Uri.parse("geo:37.7749,-122.4192?q=" + Uri.encode("1st & Pike, Seattle"));

কোটলিন

val gmmIntentUri =
    Uri.parse("geo:37.7749,-122.4192?q=" + Uri.encode("1st & Pike, Seattle"))

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

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

geo:latitude,longitude?z=zoom

প্যারামিটার

  • latitudelongitude মানচিত্রের কেন্দ্রবিন্দু নির্ধারণ করে।
  • z ঐচ্ছিকভাবে মানচিত্রের প্রাথমিক জুম স্তর নির্ধারণ করে। গ্রহণযোগ্য মান ০ (পুরো বিশ্ব) থেকে ২১ (স্বতন্ত্র ভবন) পর্যন্ত। নির্বাচিত স্থানে উপলব্ধ মানচিত্রের তথ্যের উপর নির্ভর করে ঊর্ধ্বসীমা পরিবর্তিত হতে পারে।

উদাহরণ

জাভা

// Creates an Intent that loads 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);

কোটলিন

// Creates an Intent that loads a map of San Francisco
val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194")
val mapIntent = 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
geo:0,0?q=latitude,longitude(label)

প্যারামিটার

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

  • q ম্যাপে হাইলাইট করার স্থান(গুলি) নির্ধারণ করে। সমস্ত সার্চ অনুরোধের জন্য q প্যারামিটারটি আবশ্যক। এটি একটি স্থানের নাম বা ঠিকানা হিসেবে অবস্থান গ্রহণ করে। স্ট্রিংটি অবশ্যই URL-এনকোড করা উচিত, তাই City Hall, New York, NY এর মতো একটি ঠিকানাকে City+Hall,New+York,NY তে রূপান্তর করতে হবে।

  • label আপনাকে মানচিত্রে চিহ্নিত কোনো স্থানে একটি নিজস্ব লেবেল সেট করার সুযোগ দেয়। label অবশ্যই একটি স্ট্রিং হিসেবে নির্দিষ্ট করতে হবে।

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

জাভা

// 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);
// Search for restaurants in San Francisco.
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

কোটলিন

// Search for restaurants nearby.
val gmmIntentUri = Uri.parse("geo:0,0?q=restaurants")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)
// Search for restaurants in San Francisco.
val gmmIntentUri =
    Uri.parse("geo:37.7749,-122.4194?q=restaurants")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)
সান ফ্রান্সিসকোতে রেস্তোরাঁ খোঁজা হচ্ছে
চিত্র ১. সান ফ্রান্সিসকোতে রেস্তোরাঁ খোঁজা

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

জাভা

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);

কোটলিন

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

কোনো নির্দিষ্ট ঠিকানা অনুসন্ধান করলে সেই স্থানের একটি পিন প্রদর্শিত হয়।

জাভা

Uri gmmIntentUri = Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

কোটলিন

val gmmIntentUri =
    Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

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

জাভা

// Searching for 'Main Street' returns too many results.
Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");

কোটলিন

// Searching for 'Main Street' returns too many results.
val gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street")

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

জাভা

// Searches for '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);

কোটলিন

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

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

জাভা

// Display a label at the location of Google's Sydney office.
Uri gmmIntentUri = Uri.parse("geo:0,0?q=-33.8666,151.1957(Google+Sydney)");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

কোটলিন

// Display a label at the location of Google's Sydney office.
val gmmIntentUri =
    Uri.parse("geo:0,0?q=-33.8666,151.1957(Google+Sydney)")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

রাস্তার ঠিকানা অথবা অক্ষাংশ ও দ্রাঘিমাংশের বিকল্প হিসেবে, আপনি একটি প্লাস কোড ব্যবহার করে কোনো পরিচিত স্থানে একটি পিন প্রদর্শন করতে পারেন।

জাভা

// Display the location of Google, San Francisco using a global plus code.
Uri gmmIntentUri = Uri.parse("http://plus.codes/849VQJQ5+XX");
// Equivalently, define the same location using a local plus code.
gmmIntentUri = Uri.parse("https://plus.codes/QJQ5+XX,San%20Francisco");
// Construct and use the Intent as in the preceding examples.

কোটলিন

// Display the location of Google, San Francisco using a global plus code.
var gmmIntentUri = Uri.parse("http://plus.codes/849VQJQ5+XX")
// Equivalently, define the same location using a local plus code.
gmmIntentUri = Uri.parse("https://plus.codes/QJQ5+XX,San%20Francisco")
// Construct and use the Intent as in the preceding examples.

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

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

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

প্যারামিটার

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

  • mode পরিবহনের পদ্ধতি নির্ধারণ করে। mode ঐচ্ছিক এবং নিম্নলিখিতগুলির মধ্যে যেকোনো একটিতে সেট করা যেতে পারে:

    • d গাড়ি চালানোর জন্য (ডিফল্ট)
    • সাইকেল চালানোর জন্য b
    • l চাকার গাড়ির জন্য
    • হাঁটার জন্য w
  • avoid এমন বৈশিষ্ট্যগুলো নির্ধারণ করে যা রুটটি এড়িয়ে চলার চেষ্টা করবে। avoid ঐচ্ছিক এবং নিম্নলিখিত এক বা একাধিক বিকল্পে সেট করা যেতে পারে:

    • t জন্য
    • মহাসড়কের জন্য h
    • ফেরিগুলির জন্য f

উদাহরণ

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

জাভা

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

কোটলিন

val gmmIntentUri =
    Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)
দিকনির্দেশনা তারোঙ্গা চিড়িয়াখানায় যাওয়ার
চিত্র 2. তারোঙ্গা চিড়িয়াখানার দিকনির্দেশ

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

জাভা

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

কোটলিন

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

আপনি যদি কিছুটা ব্যায়াম করতে চান, তাহলে এর পরিবর্তে সাইকেল চালানোর দিকনির্দেশনা চাইতে পারেন।

জাভা

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

কোটলিন

val gmmIntentUri =
    Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&mode=b")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

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

জাভা

Uri gmmIntentUri = Uri.parse("google.navigation:q=Connaught+Place,+New+Delhi,Delhi&mode=l");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

কোটলিন

val gmmIntentUri =
    Uri.parse("google.navigation:q=Connaught+Place,+New+Delhi,Delhi&mode=l")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)

স্ট্রিট ভিউ প্যানোরামা প্রদর্শন করুন

গুগল স্ট্রিট ভিউ চালু করতে google.streetview ইন্টেন্টটি ব্যবহার করুন। গুগল স্ট্রিট ভিউ তার কভারেজ এলাকা জুড়ে নির্দিষ্ট স্থান থেকে প্যানোরামিক ভিউ প্রদান করে। ব্যবহারকারীদের দেওয়া ফটোস্ফিয়ার এবং স্ট্রিট ভিউ-এর বিশেষ সংগ্রহও উপলব্ধ রয়েছে।

google.streetview:cbll=latitude,longitude&cbp=0,bearing,0,zoom,tilt
google.streetview:panoid=id&cbp=0,bearing,0,zoom,tilt

প্যারামিটার

সমস্ত google.streetview URI-তে অবশ্যই একটি cbll অথবা একটি panoid প্যারামিটার অন্তর্ভুক্ত থাকতে হবে:

  • cbll অক্ষাংশ এবং দ্রাঘিমাংশ কমা দিয়ে আলাদা করে গ্রহণ করে (যেমন: 46.414382,10.013988 )। অ্যাপটি এই অবস্থানের সবচেয়ে কাছে তোলা প্যানোরামাটি দেখায়। যেহেতু স্ট্রিট ভিউ-এর ছবি পর্যায়ক্রমে রিফ্রেশ করা হয় এবং প্রতিবার ছবিগুলো সামান্য ভিন্ন অবস্থান থেকে তোলা হতে পারে, তাই ছবি আপডেট হওয়ার সময় আপনার অবস্থানটি অন্য কোনো প্যানোরামায় চলে যেতে পারে।

  • panoid হলো একটি নির্দিষ্ট প্যানোরামা আইডি। যদি panoid এবং cbll উভয়ই নির্দিষ্ট করা থাকে, তবে গুগল ম্যাপস প্যানোরামা আইডি ব্যবহার করে। StreetViewPanoramaLocation অবজেক্ট থেকে একটি অ্যান্ড্রয়েড অ্যাপের জন্য প্যানোরামা আইডিগুলো উপলব্ধ থাকে।

  • cbp একটি ঐচ্ছিক প্যারামিটার যা ক্যামেরার প্রাথমিক অভিমুখ সামঞ্জস্য করে। cbp প্যারামিটারটি কমা দ্বারা পৃথক করা ৫টি মান গ্রহণ করে, যার সবগুলোই ঐচ্ছিক। সবচেয়ে গুরুত্বপূর্ণ মানগুলো হলো দ্বিতীয়, চতুর্থ এবং পঞ্চম, যা যথাক্রমে বেয়ারিং, জুম এবং টিল্ট নির্ধারণ করে। প্রথম এবং তৃতীয় মান সমর্থিত নয় এবং সেগুলোকে 0 -তে সেট করতে হবে।

    • bearing : এটি উত্তর দিক থেকে ঘড়ির কাঁটার দিকে ডিগ্রিতে ক্যামেরার দিক নির্দেশ করে। প্রকৃত উত্তর হল ০, পূর্ব হল ৯০, দক্ষিণ হল ১৮০, পশ্চিম হল
      1. বেয়ারিং র‍্যাপে প্রদত্ত মানগুলো হলো ০°, ৩৬০° এবং ৭২০°, যা সবই একই দিক নির্দেশ করে। পাঁচটি কমা দ্বারা পৃথক করা মানের মধ্যে দ্বিতীয়টি হলো বেয়ারিং।
    • zoom : ক্যামেরার জুম লেভেল নির্ধারণ করে। ডিফল্ট জুম লেভেল ০-তে সেট করা থাকে। ১ জুম করলে বিবর্ধন দ্বিগুণ হবে। জুমটি ০ এবং বর্তমান প্যানোরামার সর্বোচ্চ জুম লেভেলের মধ্যে সীমাবদ্ধ থাকে। এর মানে হলো, এই সীমার বাইরের যেকোনো মানকে সীমার মধ্যে থাকা নিকটতম চরম মানে সেট করা হয়। উদাহরণস্বরূপ, -১ মানকে ০-তে সেট করা হয়। জুম হলো কমা দ্বারা পৃথক করা পাঁচটি মানের মধ্যে চতুর্থটি।
    • tilt : ক্যামেরার ঊর্ধ্বমুখী বা নিম্নমুখী কোণ নির্দিষ্ট করে। এর পরিসর হলো -৯০ থেকে ০ পর্যন্ত, যেখানে ৯০ মানে সরাসরি নিচের দিকে, ০ মানে দিগন্তের কেন্দ্রে এবং -৯০ মানে সরাসরি উপরের দিকে।

উদাহরণ

নিচে স্ট্রিট ভিউ ইন্টেন্ট ব্যবহারের কিছু উদাহরণ দেওয়া হলো।

জাভা

// Displays an image of the Swiss Alps.
Uri gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
// Uses a PanoID to show an image from Maroubra beach in Sydney, Australia.
Uri gmmIntentUri = Uri.parse("google.streetview:panoid=Iaa2JyfIggYAAAQfCZU9KQ");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
// Opens Street View between two Pyramids in Giza. The values passed to the
// cbp parameter angles the camera slightly up, and towards the east.
Uri gmmIntentUri = Uri.parse("google.streetview:cbll=29.9774614,31.1329645&cbp=0,30,0,0,-15");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

কোটলিন

// Displays an image of the Swiss Alps.
val gmmIntentUri =
    Uri.parse("google.streetview:cbll=46.414382,10.013988")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)
// Uses a PanoID to show an image from Maroubra beach in Sydney, Australia.
val gmmIntentUri =
    Uri.parse("google.streetview:panoid=Iaa2JyfIggYAAAQfCZU9KQ")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)
// Opens Street View between two Pyramids in Giza. The values passed to the
// cbp parameter angles the camera slightly up, and towards the east.
val gmmIntentUri =
    Uri.parse("google.streetview:cbll=29.9774614,31.1329645&cbp=0,30,0,0,-15")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
startActivity(mapIntent)
স্ট্রিট ভিউতে পিরামিড
চিত্র ৩. স্ট্রিট ভিউতে পিরামিড