
অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (Maps SDK for Android) ব্যবহার করে, আপনি একটি ম্যাপ-ভিত্তিক পরিধানযোগ্য অ্যাপ তৈরি করতে পারেন যা সরাসরি গুগলের ওয়্যার ওএস (Wear OS by Google) ডিভাইসে চলে। আপনার অ্যাপের ব্যবহারকারীরা শুধু তাদের কব্জির দিকে তাকিয়েই ম্যাপে নিজেদের অবস্থান দেখতে পারেন। উদাহরণস্বরূপ, তারা কোনো রুটে নিজেদের অবস্থান চিহ্নিত করতে পারেন, তারপর বিস্তারিত জানার জন্য জুম ইন করতে পারেন, অথবা আপনার অ্যাপ দ্বারা সরবরাহ করা একটি তথ্য উইন্ডো দেখতে কোনো মার্কারে ট্যাপ করতে পারেন।
এই পৃষ্ঠাটি একটি পরিধানযোগ্য ডিভাইসে উপলব্ধ এপিআই (API) কার্যকারিতা বর্ণনা করে এবং আপনাকে আপনার অ্যাপ তৈরি শুরু করতে সাহায্য করে।
Wear OS শুরু করা
অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে ব্যবহার করে একটি ওয়্যারেবল অ্যাপ তৈরি করা মূলত অন্য যেকোনো অ্যান্ড্রয়েড ডিভাইসের জন্য গুগল ম্যাপস অ্যাপ তৈরির মতোই। পার্থক্যটা হলো, ওয়্যারেবল ডিভাইসটির ছোট আকারের জন্য অ্যাপটির ডিজাইন এমনভাবে করতে হয়, যাতে এর ব্যবহারযোগ্যতা এবং পারফরম্যান্স সর্বোত্তম হয়।
Wear OS ডেভেলপমেন্টের জন্য Android Studio- ই প্রস্তাবিত টুল, কারণ এটি প্রজেক্ট সেটআপ, লাইব্রেরি অন্তর্ভুক্তি এবং প্যাকেজিংয়ের সুবিধা প্রদান করে।
ওয়্যারেবল অ্যাপ ডিজাইন করার বিষয়ে সাধারণ সাহায্যের জন্য, Wear OS ডিজাইন নির্দেশিকা দেখুন। আপনার প্রথম ওয়্যারেবল অ্যাপ তৈরি করার বিষয়ে সাহায্যের জন্য, ওয়্যারেবল অ্যাপ তৈরির নির্দেশিকাটি দেখুন।
Wear OS-এ আপনার প্রথম ম্যাপস অ্যাপ তৈরি করা
এই সংক্ষিপ্ত নির্দেশিকাটি ধরে নেয় যে আপনি অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (Maps SDK) সম্পর্কে পরিচিত, আপনার অ্যাপে একটি পরিধানযোগ্য মডিউল (wearable module) তৈরি করার জন্য আপনি Wear OS নির্দেশিকাগুলো অনুসরণ করেছেন, এবং এখন আপনি সেই পরিধানযোগ্য মডিউলটিতে একটি মানচিত্র যোগ করতে চান।
আপনার ওয়্যার মডিউলের জন্য নির্ভরতা যোগ করা
আপনার অ্যাপের Wear OS মডিউলের build.gradle.kts ফাইলে নিম্নলিখিত ডিপেন্ডেন্সিগুলো অন্তর্ভুক্ত আছে কিনা তা নিশ্চিত করুন:
dependencies { // ... // Modern Android projects use version catalogs to manage dependencies. To include the necessary dependencies, // first add the following to your libs.versions.toml file: // // [versions] // playServicesMaps = "20.0.0" // wear = "1.3.0" // wearable = "2.9.0" // // [libraries] // play-services-maps = { group = "com.google.android.gms", name = "play-services-maps", version.ref = "playServicesMaps" } // wear = { group = "androidx.wear", name = "wear", version.ref = "wear" } // wearable-compile = { group = "com.google.android.wearable", name = "wearable", version.ref = "wearable" } // wearable-support = { group = "com.google.android.support", name = "wearable", version.ref = "wearable" } compileOnly(libs.wearable.compile) implementation(libs.wearable.support) implementation(libs.play.services.maps) // This dependency is necessary for ambient mode implementation(libs.wear) // Android Test Dependencies androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) androidTestImplementation(libs.uiautomator) androidTestImplementation(libs.truth) androidTestImplementation(libs.junit) // If your project does not use a version catalog, you can use the following dependencies instead: // // compileOnly("com.google.android.wearable:wearable:2.9.0") // implementation("com.google.android.support:wearable:2.9.0") // implementation("com.google.android.gms:play-services-maps:20.0.0") // implementation("androidx.wear:wear:1.3.0") // androidTestImplementation("androidx.test.ext:junit:1.1.5") // androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") // androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0") // androidTestImplementation("com.google.truth:truth:1.4.2") // androidTestImplementation("junit:junit:4.13.2") }
নির্ভরতাগুলো সম্পর্কে আরও তথ্যের জন্য, আপনার বিদ্যমান প্রকল্পে একটি Wear OS মডিউল যোগ করার নির্দেশিকাটি দেখুন।
সোয়াইপ করে বাতিল করার জেসচার প্রয়োগ করা এবং প্রাথমিক ব্যাকগ্রাউন্ড রঙ নির্ধারণ করা।
পরিধানযোগ্য ডিভাইসে ম্যাপটি দেখানোর জন্য একটি SwipeDismissFrameLayout ব্যবহার করার পরামর্শ দেওয়া হয়। SwipeDismissFrameLayout ক্লাসটি ব্যবহার করে, আপনি সোয়াইপ-টু-ডিমিস জেসচারটি প্রয়োগ করতে পারেন, যা ব্যবহারকারীদের স্ক্রিনের একেবারে বাম প্রান্ত থেকে সোয়াইপ করে অ্যাপটি থেকে বেরিয়ে যাওয়ার সুযোগ দেয়।
একটি নিজস্ব প্রাথমিক ব্যাকগ্রাউন্ড রঙ সেট করতে, প্রকৃত ম্যাপ টাইলস লোড না হওয়া পর্যন্ত প্রদর্শিত রঙটি নির্ধারণ করার জন্য map:backgroundColor XML অ্যাট্রিবিউটটি ব্যবহার করুন।
আপনার লেআউট সংজ্ঞায় SupportMapFragment এর কন্টেইনার হিসেবে SwipeDismissFrameLayout এবং backgroundColor এলিমেন্টগুলো যোগ করুন:
<androidx.wear.widget.SwipeDismissFrameLayout
android:id="@+id/map_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:backgroundColor="#fff0b2dd" />
</androidx.wear.widget.SwipeDismissFrameLayout> আপনার অ্যাক্টিভিটিতে যখন SwipeDismissFrameLayout অবজেক্টটি পাবেন, তখন একটি কলব্যাক যোগ করুন এবং নিচে দেখানো অনুযায়ী প্রয়োজনীয় ডিসমিস অ্যাকশনটি সম্পাদন করার জন্য কলব্যাকটির আচরণ সেট করুন:
কোটলিন
class MainActivity : AppCompatActivity(), OnMapReadyCallback, AmbientModeSupport.AmbientCallbackProvider { public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Set the layout. It only contains a SupportMapFragment and a DismissOverlay. setContentView(R.layout.activity_main) // Enable ambient support, so the map remains visible in simplified, low-color display // when the user is no longer actively using the app but the app is still visible on the // watch face. val controller = AmbientModeSupport.attach(this) Log.d(MainActivity::class.java.simpleName, "Is ambient enabled: " + controller.isAmbient) // Retrieve the containers for the root of the layout and the map. Margins will need to be // set on them to account for the system window insets. val mapFrameLayout = findViewById<SwipeDismissFrameLayout>(R.id.map_container) mapFrameLayout.addCallback(object : SwipeDismissFrameLayout.Callback() { override fun onDismissed(layout: SwipeDismissFrameLayout) { onBackPressed() } }) // Obtain the MapFragment and set the async listener to be notified when the map is ready. mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } // ... }
জাভা
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback, AmbientModeSupport.AmbientCallbackProvider { public void onCreate(Bundle savedState) { super.onCreate(savedState); // Set the layout. It only contains a SupportMapFragment and a DismissOverlay. setContentView(R.layout.activity_main); // Enable ambient support, so the map remains visible in simplified, low-color display // when the user is no longer actively using the app but the app is still visible on the // watch face. AmbientModeSupport.AmbientController controller = AmbientModeSupport.attach(this); Log.d(MainActivity.class.getSimpleName(), "Is ambient enabled: " + controller.isAmbient()); // Retrieve the containers for the root of the layout and the map. Margins will need to be // set on them to account for the system window insets. final SwipeDismissFrameLayout mapFrameLayout = (SwipeDismissFrameLayout) findViewById( R.id.map_container); mapFrameLayout.addCallback(new SwipeDismissFrameLayout.Callback() { @Override public void onDismissed(SwipeDismissFrameLayout layout) { onBackPressed(); } }); // Obtain the MapFragment and set the async listener to be notified when the map is ready. mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } // ... }
একটি মানচিত্র যোগ করা
GoogleMap অবজেক্টের হ্যান্ডেল পেতে, যথারীতি onMapReady(GoogleMap) কলব্যাক মেথডটি ব্যবহার করুন। ম্যাপটি ব্যবহারের জন্য প্রস্তুত হলে এই কলব্যাকটি ট্রিগার হয়। কলব্যাক মেথডের মধ্যে আপনি ম্যাপে মার্কার বা পলিলাইন যোগ করতে, লিসেনার যুক্ত করতে, অথবা ক্যামেরা সরাতে পারেন। নিচের উদাহরণটি সিডনি অপেরা হাউসের কাছে একটি মার্কার যোগ করে:
কোটলিন
private val sydney = LatLng(-33.85704, 151.21522) override fun onMapReady(googleMap: GoogleMap) { // Add a marker with a title that is shown in its info window. googleMap.addMarker( MarkerOptions().position(sydney) .title("Sydney Opera House") ) // Move the camera to show the marker. googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 10f)) }
জাভা
private static final LatLng SYDNEY = new LatLng(-33.85704, 151.21522); @Override public void onMapReady(@NonNull GoogleMap googleMap) { // Add a marker with a title that is shown in its info window. googleMap.addMarker(new MarkerOptions().position(SYDNEY) .title("Sydney Opera House")); // Move the camera to show the marker. googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 10)); }
অ্যাম্বিয়েন্ট মোড সক্রিয় করা
অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে পরিধানযোগ্য অ্যাপের জন্য অ্যাম্বিয়েন্ট মোড সমর্থন করে। যে অ্যাপগুলো অ্যাম্বিয়েন্ট মোড সমর্থন করে, সেগুলোকে কখনও কখনও অলওয়েজ অন অ্যাপ বলা হয়। যখন ব্যবহারকারী আর সক্রিয়ভাবে অ্যাপটি ব্যবহার করেন না, তখন অ্যাম্বিয়েন্ট মোড সক্রিয় হয় এবং এটি অ্যাপটিকে পরিধানযোগ্য ডিভাইসে দৃশ্যমান থাকতে দেয়।
অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে অ্যাম্বিয়েন্ট মোডে ব্যবহারের জন্য ম্যাপের একটি সরলীকৃত, স্বল্প-রঙের রেন্ডারিং প্রদান করে এবং ডিভাইসটি ইন্টারেক্টিভ থেকে অ্যাম্বিয়েন্ট মোডে পরিবর্তিত হলে ম্যাপের স্টাইল স্বয়ংক্রিয়ভাবে সামঞ্জস্য হয়ে যায়। অ্যাম্বিয়েন্ট মোডে সমস্ত মার্কার, অবজেক্ট এবং ইউআই কন্ট্রোল অদৃশ্য হয়ে যায়। এটি আপনার অ্যাপের বিদ্যুৎ খরচ কমায় এবং ওয়াচ ফেসের মতো অন্যান্য অ্যাম্বিয়েন্ট অ্যাপের সাথে একটি সামঞ্জস্যপূর্ণ চেহারা ও অনুভূতি নিশ্চিত করে।
আপনার অ্যাপটি যেন ম্যাপের অ্যাম্বিয়েন্ট মোড ব্যবহার করে, তা নিশ্চিত করতে নিম্নলিখিত পদক্ষেপগুলি নিন:
- আপনার অ্যান্ড্রয়েড এসডিকে আপডেট করে অ্যান্ড্রয়েড ৬.০ (এপিআই ২৩) বা তার উচ্চতর প্ল্যাটফর্ম অন্তর্ভুক্ত করুন, যা অ্যাক্টিভিটিগুলোকে অ্যাম্বিয়েন্ট মোডে যাওয়ার জন্য প্রয়োজনীয় এপিআই সরবরাহ করে। আপনার এসডিকে কীভাবে আপডেট করবেন সে সম্পর্কে তথ্যের জন্য, এসডিকে প্যাকেজ যোগ করার বিষয়ে অ্যান্ড্রয়েড ডকুমেন্টেশন দেখুন।
- অ্যাপ ম্যানিফেস্টে
targetSdkVersion23 বা তার বেশি সেট করে নিশ্চিত করুন যে আপনার প্রজেক্টটি অ্যান্ড্রয়েড 6.0 বা তার উচ্চতর সংস্করণকে টার্গেট করছে। - আপনার অ্যাপের
build.gradle.ktsফাইলে ওয়্যারেবল ডিপেন্ডেন্সিগুলো যোগ করুন। এই পৃষ্ঠার নমুনাটি দেখুন। - আপনার অ্যাপকে দৃশ্যমান রাখার বিষয়ে অ্যান্ড্রয়েড প্রশিক্ষণ ক্লাসে বর্ণিত পদ্ধতি অনুসারে, ওয়্যারেবল অ্যাপ ম্যানিফেস্টে ওয়্যারেবল শেয়ার্ড লাইব্রেরি এন্ট্রিটি যোগ করুন।
- আপনার অ্যাপকে দৃশ্যমান রাখার বিষয়ে অ্যান্ড্রয়েড প্রশিক্ষণ ক্লাসে বর্ণিত পদ্ধতি অনুসারে হ্যান্ডহেল্ড এবং ওয়্যারেবল অ্যাপের ম্যানিফেস্টগুলিতে
WAKE_LOCKপারমিশনটি যোগ করুন। - আপনার অ্যাক্টিভিটির
onCreate()মেথডে,AmbientModeSupport.attach()মেথডটি কল করুন। এটি অপারেটিং সিস্টেমকে জানিয়ে দেয় যে অ্যাপ্লিকেশনটি সর্বদা চালু আছে, ফলে ডিভাইসটি বন্ধ হয়ে গেলে এটি ওয়াচ ফেসে ফিরে না এসে অ্যাম্বিয়েন্ট মোডে প্রবেশ করবে। - আপনার অ্যাক্টিভিটিতে
AmbientModeSupport.AmbientCallbackProviderইন্টারফেসটি ইমপ্লিমেন্ট করুন, যাতে এটি অ্যাম্বিয়েন্ট মোডের অবস্থার পরিবর্তন গ্রহণ করতে পারে। - আপনার ম্যাপে অ্যাম্বিয়েন্ট মোড সাপোর্ট করার জন্য সেট করুন। আপনি অ্যাক্টিভিটির XML লেআউট ফাইলে
map:ambientEnabled="true"অ্যাট্রিবিউটটি সেট করে এটি করতে পারেন, অথবা প্রোগ্রাম্যাটিকভাবেGoogleMapOptions.ambientEnabled(true)সেট করেও এটি করতে পারেন। এই সেটিংটি API-কে জানিয়ে দেয় যে অ্যাম্বিয়েন্ট মোডে ব্যবহারের জন্য প্রয়োজনীয় ম্যাপ টাইলগুলো অবশ্যই আগে থেকে লোড করে রাখতে হবে। - যখন অ্যাক্টিভিটি অ্যাম্বিয়েন্ট মোডে পরিবর্তিত হয়, তখন সিস্টেম আপনার দেওয়া
AmbientCallbackমধ্যে থাকাonEnterAmbient()মেথডটিকে কল করে।onEnterAmbient()মেথডটিকে ওভাররাইড করুন এবংSupportMapFragment.onEnterAmbient(ambientDetails)অথবাMapView.onEnterAmbient(ambientDetails)কল করুন। এতে API-টি ম্যাপের একটি নন-ইন্টারেক্টিভ এবং স্বল্প-রঙের রেন্ডারিং-এ পরিবর্তিত হয়ে যায়। - একইভাবে,
onExitAmbient()ফাংশনেSupportMapFragment.onExitAmbient()অথবাMapView.onExitAmbient()কল করুন। এতে API-টি ম্যাপের স্বাভাবিক রেন্ডারিং-এ পরিবর্তিত হয়ে যায়।
নিম্নলিখিত কোড নমুনাটি অ্যাক্টিভিটিতে অ্যাম্বিয়েন্ট মোড চালু করে:
কোটলিন
class AmbientActivity : AppCompatActivity(), AmbientModeSupport.AmbientCallbackProvider { private lateinit var mapFragment: SupportMapFragment public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Set the layout. It only contains a SupportMapFragment and a DismissOverlay. setContentView(R.layout.activity_main) // Enable ambient support, so the map remains visible in simplified, low-color display // when the user is no longer actively using the app but the app is still visible on the // watch face. val controller = AmbientModeSupport.attach(this) Log.d(AmbientActivity::class.java.simpleName, "Is ambient enabled: " + controller.isAmbient) // Obtain the MapFragment and set the async listener to be notified when the map is ready. mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment } override fun getAmbientCallback(): AmbientModeSupport.AmbientCallback { return object : AmbientModeSupport.AmbientCallback() { /** * Starts ambient mode on the map. * The API swaps to a non-interactive and low-color rendering of the map when the user is no * longer actively using the app. */ override fun onEnterAmbient(ambientDetails: Bundle) { super.onEnterAmbient(ambientDetails) mapFragment.onEnterAmbient(ambientDetails) } /** * Exits ambient mode on the map. * The API swaps to the normal rendering of the map when the user starts actively using the app. */ override fun onExitAmbient() { super.onExitAmbient() mapFragment.onExitAmbient() } } } }
জাভা
public class AmbientActivity extends AppCompatActivity implements AmbientModeSupport.AmbientCallbackProvider { private SupportMapFragment mapFragment; public void onCreate(Bundle savedState) { super.onCreate(savedState); // Set the layout. It only contains a SupportMapFragment and a DismissOverlay. setContentView(R.layout.activity_main); // Enable ambient support, so the map remains visible in simplified, low-color display // when the user is no longer actively using the app but the app is still visible on the // watch face. AmbientModeSupport.AmbientController controller = AmbientModeSupport.attach(this); Log.d(AmbientActivity.class.getSimpleName(), "Is ambient enabled: " + controller.isAmbient()); // Obtain the MapFragment and set the async listener to be notified when the map is ready. mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); } @Override public AmbientCallback getAmbientCallback() { return new AmbientCallback() { /** * Starts ambient mode on the map. * The API swaps to a non-interactive and low-color rendering of the map when the user is no * longer actively using the app. */ @Override public void onEnterAmbient(Bundle ambientDetails) { super.onEnterAmbient(ambientDetails); mapFragment.onEnterAmbient(ambientDetails); } /** * Exits ambient mode on the map. * The API swaps to the normal rendering of the map when the user starts actively using the app. */ @Override public void onExitAmbient() { super.onExitAmbient(); mapFragment.onExitAmbient(); } }; } }
অ্যাপটি অ্যাম্বিয়েন্ট মোডে থাকা অবস্থাতেও আপনি স্ক্রিন আপডেট করতে পারেন। কন্টেন্ট আপডেট করা এবং সাধারণভাবে অ্যাম্বিয়েন্ট মোড সম্পর্কে আরও বিস্তারিত জানতে, 'আপনার অ্যাপ দৃশ্যমান রাখা' বিষয়ক অ্যান্ড্রয়েড প্রশিক্ষণ ক্লাসটি দেখুন।
Wear OS-এ স্ট্রিট ভিউ ব্যবহার করা
পরিধানযোগ্য ডিভাইসগুলিতে স্ট্রিট ভিউ সম্পূর্ণরূপে সমর্থিত।
স্ট্রিট ভিউ প্যানোরামা দেখার সময় ব্যবহারকারীদের অ্যাপ থেকে বেরিয়ে যাওয়ার সুযোগ দিতে, লং-ক্লিক জেসচার শোনার জন্য StreetViewPanorama.OnStreetViewPanoramaLongClickListener ইন্টারফেসটি ব্যবহার করুন। যখন কোনো ব্যবহারকারী স্ট্রিট ভিউ ইমেজের কোথাও লং-ক্লিক করবেন, তখন আপনি একটি onStreetViewPanoramaLongClick(StreetViewPanoramaOrientation) ইভেন্ট পাবেন। একটি এক্সিট বাটন প্রদর্শন করতে DismissOverlayView.show() কল করুন।
নমুনা কোড
গিটহাবে একটি নমুনা অ্যাপ পাওয়া যাচ্ছে, যা আপনি আপনার অ্যাপের জন্য প্রাথমিক ভিত্তি হিসেবে ব্যবহার করতে পারেন। এই নমুনাটিতে দেখানো হয়েছে কীভাবে Wear OS-এ একটি সাধারণ গুগল ম্যাপ সেট আপ করতে হয়।
Wear OS-এর Maps API-তে সমর্থিত কার্যকারিতা
এই বিভাগে পরিধানযোগ্য ডিভাইস এবং হ্যান্ডহেল্ড ডিভাইস (ফোন ও ট্যাবলেট)-এর ম্যাপের সমর্থিত কার্যকারিতার পার্থক্যগুলো তুলে ধরা হয়েছে। নিচে উল্লেখ করা হয়নি এমন সমস্ত এপিআই ফিচার সম্পূর্ণ এপিআই-এর ডকুমেন্টেশন অনুযায়ী কাজ করবে।
| কার্যকারিতা | |
|---|---|
| সম্পূর্ণ ইন্টারেক্টিভ মোড এবং লাইট মোড | আপনি অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে সম্পূর্ণ ইন্টারেক্টিভ মোডে অথবা লাইট মোডে ব্যবহার করতে পারেন। যদি আপনি পরিধানযোগ্য ডিভাইসে পারফরম্যান্স অপ্টিমাইজ করতে চান এবং আপনার অ্যাপে জেসচার, বা ম্যাপ প্যানিং ও জুমিং-এর মতো ইন্টারঅ্যাকশনের প্রয়োজন না হয়, তবে লাইট মোড ব্যবহার করার কথা বিবেচনা করতে পারেন। লাইট মোডে, ব্যবহারকারী ম্যাপে ট্যাপ করলে গুগল ম্যাপস মোবাইল অ্যাপ চালু হওয়ার অপশনটি নিষ্ক্রিয় থাকে এবং কোনো পরিধানযোগ্য ডিভাইসে এটি সক্রিয় করা যায় না। লাইট মোড এবং সম্পূর্ণ ইন্টারেক্টিভ মোডের মধ্যেকার পার্থক্যের পূর্ণাঙ্গ তালিকার জন্য, লাইট মোড ডকুমেন্টেশন দেখুন। |
| মানচিত্র টুলবার | ম্যাপ টুলবারটি নিষ্ক্রিয় করা আছে এবং পরিধানযোগ্য ডিভাইসে এটি সক্রিয় করা যাবে না। |
| UI নিয়ন্ত্রণ | পরিধানযোগ্য ডিভাইসগুলিতে UI কন্ট্রোলগুলি ডিফল্টরূপে নিষ্ক্রিয় থাকে। এর মধ্যে জুম, কম্পাস এবং আমার অবস্থান নিয়ন্ত্রণ অন্তর্ভুক্ত। আপনি যথারীতি UiSettings ক্লাস ব্যবহার করে এগুলি সক্রিয় করতে পারেন। |
| অঙ্গভঙ্গি | সিঙ্গেল-টাচ জেসচারগুলো প্রত্যাশিতভাবেই কাজ করে। উদাহরণস্বরূপ, ম্যাপ প্যান করার জন্য টাচ করে ড্র্যাগ করা, জুম ইন করার জন্য ডাবল-ট্যাপ করা এবং জুম আউট করার জন্য দুই আঙুলে ট্যাপ করা। ব্যবহারকারীর ডিভাইসের ওপর নির্ভর করে মাল্টি-টাচ জেসচারের সাপোর্ট ভিন্ন হয়। মাল্টি-টাচ জেসচারের উদাহরণগুলোর মধ্যে রয়েছে ম্যাপ টিল্ট করার জন্য দুই আঙুলে চাপ দেওয়া, জুম করার জন্য পিঞ্চ করা এবং দুই আঙুলে ঘোরানো। |
| অভ্যন্তরীণ মানচিত্র এবং ভবন | পরিধানযোগ্য ডিভাইসে ইনডোর ম্যাপ ডিফল্টরূপে নিষ্ক্রিয় থাকে। আপনি GoogleMap.setIndoorEnabled(true) কল করে সেগুলি সক্রিয় করতে পারেন। ইনডোর ম্যাপ সক্রিয় করা হলে, ম্যাপটি ডিফল্ট ফ্লোর লেভেল দেখাবে। লেভেল পিকার UI এলিমেন্টটি পরিধানযোগ্য ডিভাইসে সমর্থিত নয়। |
| টাইল ওভারলে | পরিধানযোগ্য ডিভাইসে টাইল ওভারলে সমর্থিত নয় । |
Wear OS-এ Maps API ব্যবহার করে ডেভেলপ করার সেরা পদ্ধতি
আপনার অ্যাপে সেরা ব্যবহারকারীর অভিজ্ঞতা কীভাবে প্রদান করবেন:
- মানচিত্রটি স্ক্রিনের একটি বড় অংশ জুড়ে থাকা উচিত। পরিধানযোগ্য ডিভাইসের ছোট আকারে মানচিত্রের ব্যবহারযোগ্যতা সর্বোত্তম করার জন্য এটি প্রয়োজনীয়।
- আপনার অ্যাপের ইউজার এক্সপেরিয়েন্স ডিজাইন করার সময়, এই বিষয়টি মাথায় রাখবেন যে পরিধানযোগ্য ডিভাইসের ব্যাটারি চার্জ কম থাকে। স্ক্রিন চালু রাখা এবং ম্যাপ দৃশ্যমান রাখলে তা ব্যাটারির কার্যক্ষমতার ওপর প্রভাব ফেলবে।