ম্যাপ কনফিগার করা

প্ল্যাটফর্ম বেছে নিন: Android iOS

এই ডকুমেন্ট থেকে জানতে পারবেন যে Android-এর জন্য Maps SDK ব্যবহার করে Android অ্যাপে যোগ করা ম্যাপ কীভাবে কনফিগার করতে হয়।

এক নজরে

ম্যাপ সেটিংস কনফিগার করা সহ কিয়োটোর একটি ম্যাপ। আপনার অ্যাপে ম্যাপ যোগ করার পরে, আপনি ম্যাপের প্রাথমিক এবং রানটাইম সেটিংস কনফিগার করতে পারবেন। আপনি ম্যাপ কন্টেনার (SupportMapFragment বা MapView) স্ট্যাটিক বা ডায়নামিক, কীভাবে যোগ করেছেন তার উপর নির্ভর করে প্রাথমিক সেটিংস কনফিগার করতে হবে। ম্যাপ কন্টেনার স্ট্যাটিক্যালি যোগ করা হলে, আপনি লেআউট ফাইলে প্রাথমিক ম্যাপ সেটিংস কনফিগার করতে পারবেন। এটি ডায়নামিকভাবে যোগ করা হলে, আপনি GoogleMapOptions অবজেক্টের সাথে OnCreate কলব্যাকে প্রাথমিক সেটিংস কনফিগার করতে পারবেন।

ম্যাপ কন্টেনার যোগ করার ব্যাপারে আরও জানতে, ম্যাপ যোগ করুন বিকল্প দেখুন।

প্রাথমিক ম্যাপ সেটিংসে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত থাকে:

রানটাইমে আপনি onMapReady কলব্যাকে GoogleMap অবজেক্ট আপডেট করে এইসব সেটিংস এবং কিছু অতিরিক্ত সেটিংস কনফিগার করতে পারবেন। অতিরিক্ত সেটিংস GoogleMap ক্লাসের পদ্ধতির মাধ্যমে কনফিগার করা হয়, যেমন ট্রাফিক লেয়ার এবং ম্যাপ প্যাডিং কনফিগার করে।

উদাহরণ

নিচের উদাহরণ কোড এবং উপরের স্ক্রিনশটে, ম্যাপটি নিম্নলিখিত সেটিংসের সাথে কনফিগার করা হয়েছে।

প্রাথমিক সেটিংস লেআউট ফাইলে কনফিগার করা হয়:

  • জুম কন্ট্রোল চালু করুন।
  • ঘোরানোর জেসচার কন্ট্রোল চালু করুন।
  • ম্যাপের টিল্ট ৩০-এ সেট করুন।

রানটাইম সেটিংস:

  • জাপানের কিয়োটো শহরের উপর ক্যামেরা ফোকাস করুন।
  • হাইব্রিড ম্যাপের ধরন চালু করুন।
  • ট্রাফিক লেয়ার চালু করুন।

প্রাথমিক সেটিংস

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:uiZoomControls="true"
    map:uiRotateGestures="true"
    map:cameraTilt="30" />
    

রানটাইমের সেটিংস

package com.example.mapsetup;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

    }

    // Update the map configuration at runtime.
    @Override
    public void onMapReady(GoogleMap googleMap) {
        // Set the map coordinates to Kyoto Japan.
        LatLng kyoto = new LatLng(35.00116, 135.7681);
        // Set the map type to Hybrid.
        googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
        // Add a marker on the map coordinates.
        googleMap.addMarker(new MarkerOptions()
                .position(kyoto)
                .title("Kyoto"));
        // Move the camera to the map coordinates and zoom in closer.
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(kyoto));
        googleMap.moveCamera(CameraUpdateFactory.zoomTo(15));
        // Display traffic.
        googleMap.setTrafficEnabled(true);

    }
}

শুরু করার আগে

শুরু করার আগে, আপনি প্রোজেক্ট সেট-আপ করতে এবং নিম্নলিখিত বিকল্পের মাধ্যমে বেসিক ম্যাপ যোগ করতে পারবেন:

  • Android Studio-র জন্য Maps টেমপ্লেট ব্যবহার করে একটি অ্যাপ তৈরি করুন। Maps টেমপ্লেট অটোমেটিক আপনার প্রোজেক্ট কনফিগার করে এবং একটি বেসিক ম্যাপ যোগ করে। ম্যাপ কন্টেনার হিসেবে ফ্র্যাগমেন্ট ব্যবহার করা হয় এবং এটি স্ট্যাটিক্যালি যোগ করা হয়। আরও জানতে, কুইকস্টার্ট দেখুন।

  • SDK-এর জন্য ম্যানুয়ালি আপনার প্রোজেক্ট কনফিগার করুন এবং একটি বেসিক ম্যাপ যোগ করুন। এটি আপনাকে যেকোনও Android টেমপ্লেট ব্যবহার করতে এবং আগে থেকে থাকা অ্যাপে ম্যাপ যোগ করতে দেয়।

স্ট্যাটিক্যালি যোগ করার পরে ম্যাপ কনফিগার করুন

আপনি লেআউট ফাইলে স্ট্যাটিক্যালি ম্যাপ যোগ করলে, ম্যাপের প্রাথমিক অবস্থা কীভাবে সেট করবেন তা এই বিভাগে বর্ণনা করা হয়েছে।

Maps SDK for Android, SupportMapFragment বা MapView-এর জন্য কাস্টম XML অ্যাট্রিবিউট-এর একটি সেট নির্ধারণ করে, যা আপনি লেআউট ফাইল থেকে সরাসরি ম্যাপের প্রাথমিক অবস্থা কনফিগার করতে ব্যবহার করতে পারেন। নিম্নলিখিত অ্যাট্রিবিউট সংজ্ঞায়িত করা হয়েছে:

  • mapType — যে ধরনের ম্যাপ দেখানো হবে। সঠিক ভ্যালুর মধ্যে এগুলি পড়ে: none, normal, hybrid, satellite এবং terrain।

  • cameraTargetLat, cameraTargetLng, cameraZoom, cameraBearing, cameraTilt — ক্যামেরার প্রাথমিক পজিশন। আরও তথ্যের জন্য ক্যামেরা ও ভিউ সংক্রান্ত নির্দেশিকা দেখুন।

  • uiZoomControls, uiCompass — জুম কন্ট্রোল ও কম্পাস দেখানো হবে কিনা তা নির্দিষ্ট করে। আরও বিবরণের জন্য UiSettings দেখুন।

  • uiZoomGestures, uiScrollGestures, uiRotateGestures, uiTiltGestures — নির্দিষ্ট জেসচার চালু করা আছে কিনা তা উল্লেখ করে। আরও বিবরণের জন্য UiSettings দেখুন।

  • zOrderOnTop — ম্যাপ উইন্ডো, ম্যাপ কন্ট্রোল এবং উইন্ডোর যেকোনও অবজেক্টের উপরে ম্যাপ ভিউয়ের সারফেস দেখানো হয়েছে কিনা তা নির্দেশ করে। বিস্তারিত বিবরণের জন্য SurfaceView.setZOrderOnTop(boolean) দেখুন।

  • useViewLifecycle — শুধুমাত্র SupportMapFragment অবজেক্টের সাথে কাজ করে। ম্যাপের লাইফসাইকেল ফ্র্যাগমেন্টের ভিউ নাকি ফ্র্যাগমেন্টের সাথে যুক্ত থাকবে তা নির্দিষ্ট করে। বিস্তারিত জানতে রেফারেন্স ডকুমেন্টেশন দেখুন।

  • liteMode — true লাইট মোড চালু করতে; অন্যথায়, false।

  • mapColorScheme — সাধারণ ও ভূখণ্ড ম্যাপের জন্য রঙের স্কিম নির্দিষ্ট করে। মানের মধ্যে light, dark এবং follow_system (ডিফল্ট) অন্তর্ভুক্ত, যার অর্থ হল UI_NIGHT_MODE_MASK-এর জন্য ডিভাইস সেটিংয়ের উপর ভিত্তি করে বর্তমান সিস্টেম সেটিং ব্যবহার করা। আরও তথ্যের জন্য, ম্যাপের রঙের স্কিম দেখুন।

আপনার লেআউট ফাইলের মধ্যে এইসব কাস্টম অ্যাট্রিবিউট ব্যবহার করতে, এতে অবশ্যই নিম্নলিখিত নেমস্পেস ঘোষণা অন্তর্ভুক্ত করতে হবে। আপনি যেকোনও নেমস্পেস বেছে নিতে পারেন, এটি map হতে হবে এমন নয়:

xmlns:map="http://schemas.android.com/apk/res-auto"

তারপর আপনি নিজের লেআউট ফাইলে map: প্রিফিক্স সহ অ্যাট্রিবিউট যোগ করতে পারবেন।

নিম্নলিখিত লেআউট ফাইল কাস্টম ম্যাপ অ্যাট্রিবিউট সহ SupportMapFragment অবজেক্ট কনফিগার করে। একই অ্যাট্রিবিউট MapView অবজেক্টের ক্ষেত্রেও প্রয়োগ করা যেতে পারে।

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:map="http://schemas.android.com/apk/res-auto"
  android:name="com.google.android.gms.maps.SupportMapFragment"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  map:cameraBearing="112.5"
  map:cameraTargetLat="-33.796923"
  map:cameraTargetLng="150.922433"
  map:cameraTilt="30"
  map:cameraZoom="13"
  map:mapType="normal"
  map:mapColorScheme="dark"
  map:uiCompass="false"
  map:uiRotateGestures="true"
  map:uiScrollGestures="false"
  map:uiTiltGestures="true"
  map:uiZoomControls="false"
  map:uiZoomGestures="true"/>

ডায়নামিকভাবে যোগ করার পরে ম্যাপ কনফিগার করুন

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

আপনি ডায়নামিকভাবে SupportMapFragment বা MapView যোগ করলে, GoogleMapOptions অবজেক্টে ম্যাপের প্রাথমিক অবস্থা সেট করতে পারবেন। লে-আউট ফাইলে উপলভ্য বিকল্পগুলিই এখানেও উপলভ্য। আপনি এইভাবে GoogleMapOptions তৈরি করতে পারবেন:

Kotlin

val options = GoogleMapOptions()

      

Java

GoogleMapOptions options = new GoogleMapOptions();

      

তারপর, এটি এইভাবে কনফিগার করুন:

Kotlin

options.mapType(GoogleMap.MAP_TYPE_SATELLITE)
    .compassEnabled(false)
    .rotateGesturesEnabled(false)
    .tiltGesturesEnabled(false)

      

Java

options.mapType(GoogleMap.MAP_TYPE_SATELLITE)
        .compassEnabled(false)
        .rotateGesturesEnabled(false)
        .tiltGesturesEnabled(false);

      

আপনি যখন ম্যাপ তৈরি করছেন তখন এইসব বিকল্প প্রয়োগ করতে, নিম্নলিখিতগুলির মধ্যে একটি করুন:

  • আপনি SupportMapFragment ব্যবহার করলে, ফ্র্যাগমেন্ট তৈরি করতে এবং আপনার সেটিংসে পাস করতে SupportMapFragment.newInstance(GoogleMapOptions options) স্ট্যাটিক ফ্যাক্টরি পদ্ধতি ব্যবহার করুন।
  • আপনি MapView ব্যবহার করলে, MapView(Context, GoogleMapOptions) কনস্ট্রাক্টর ব্যবহার করুন এবং আপনার সেটিংস পাস করুন।

আপনার ম্যাপ লোকালাইজ করা

আপনার অ্যাপে MapView বা SupportMapFragment যোগ করলে, ম্যাপে টেক্সট এলিমেন্ট ব্যবহারকারীর ডিভাইস সেটিংস ও লোকেশনের উপর ভিত্তি করে উপযুক্ত ভাষায় দেখানো হয়। আপনার Gradle ফাইলে resConfigs আইটেম যোগ করে, আপনার অ্যাপে ব্যবহৃত ভাষা, কাজ করে এমন সব ভাষার সাবসেটে সীমাবদ্ধ করতে পারবেন। এটি অব্যবহৃত ভাষা বাদ দেওয়ার জন্য উপযোগী এবং আপনার অ্যাপের বাইনারি সাইজও কমায়। যেমন:

defaultConfig {
    resConfigs "en", "fr", "es", "zh", "de", "ja", "ru", "ko", "pt", "in"
}

আপনার Android অ্যাপ লোকালাইজ করা সম্পর্কে আরও পড়ুন।

ট্রাফিক লেয়ার সেট-আপ করা

ট্রাফিক লেয়ার চালু করে আপনি ম্যাপে ট্রাফিক ডেটা দেখাতে পারবেন। আপনি setTrafficEnabled() মেথড কল করে ট্রাফিক লেয়ার চালু ও বন্ধ করতে পারবেন এবং isTrafficEnabled() মেথড কল করে ট্রাফিক লেয়ার চালু আছে কিনা তা নির্ধারণ করতে পারবেন। নিম্নলিখিত স্ক্রিনশটে ট্রাফিক লেয়ার চালু থাকা একটি ম্যাপ দেখানো হয়েছে।

ট্রাফিক লেয়ার

ট্রানজিট লেয়ার সেট-আপ করা

ট্রানজিট লেয়ার চালু করে আপনি ম্যাপে ট্রানজিট ডেটা দেখাতে পারবেন। আপনি setTransitEnabled() মেথড কল করে ট্রানজিট লেয়ার চালু ও বন্ধ করতে পারবেন এবং isTransitEnabled() মেথড কল করে ট্রানজিট লেয়ার চালু আছে কিনা তা নির্ধারণ করতে পারবেন। নিম্নলিখিত স্ক্রিনশটে ট্রানজিট লেয়ার চালু থাকা একটি ম্যাপ দেখানো হয়েছে।

ট্রানজিট লেয়ার

ম্যাপের ধরন সেট করুন

ম্যাপের ধরন সেট করতে, setMapType পদ্ধতি কল করুন। যেমন, স্যাটেলাইট ম্যাপ দেখাতে:

Kotlin

// Sets the map type to be "hybrid"
map.mapType = GoogleMap.MAP_TYPE_HYBRID

      

Java

// Sets the map type to be "hybrid"
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);

      

নিম্নলিখিত ছবি সাধারণ, হাইব্রিড এবং টেরেন ম্যাপের ধরনের তুলনা করে:

তিন ধরনের ম্যাপের তুলনা: সাধারণ, হাইব্রিড ও টেরেন ম্যাপ।

3D বিল্ডিং সেট-আপ করা

অনেক শহর, খুব কাছ থেকে দেখলে, 3D বিল্ডিং দেখা যাবে, যেমন কানাডার ভ্যাঙ্কুভারের নিচের ছবিতে দেখা যাচ্ছে। আপনি GoogleMap.setBuildingsEnabled(false) কল করে 3D বিল্ডিং বন্ধ করতে পারবেন।

কানাডার ভ্যাঙ্কুভারের ম্যাপ

ইনডোর ম্যাপ সেটিংস সেট-আপ করা

জুম লেভেল বেশি হলে, ম্যাপে বিমানবন্দর, শপিং মল, বড় রিটেল স্টোর ও ট্রানজিট স্টেশনের মতো ইনডোর স্পেসের মেঝের পরিকল্পনা দেখানো হয়। ইনডোর ম্যাপ নামে পরিচিত এই মেঝের পরিকল্পনা 'সাধারণ' এবং 'স্যাটেলাইট' ম্যাপের ধরন (GoogleMap.MAP_TYPE_NORMAL এবং GoogleMap.MAP_TYPE_SATELLITE)-এর জন্য দেখানো হয়। ব্যবহারকারী জুম-ইন করলে এগুলি অটোমেটিক চালু হয়ে যায় এবং ম্যাপ জুম-আউট করলে এগুলি আবছা হয়ে যায়।

বন্ধ হয়ে যাওয়া সংক্রান্ত বিজ্ঞপ্তি: ভবিষ্যতে কোনও রিলিজে, ইনডোর ম্যাপ শুধু normal ম্যাপের ধরনে উপলভ্য হবে। সেই ভবিষ্যতের রিলিজ থেকে, ইনডোর ম্যাপ satellite, terrain বা hybrid ম্যাপে কাজ করবে না। এমনকি যেখানে ইনডোর কাজ করে না, সেখানেও isIndoorEnabled(), setIndoorEnabled() ব্যবহার করে সেট করা ভ্যালু ফেরত দেওয়া চালিয়ে যাবে, যেমনটি এখন করে। ডিফল্ট হিসেবে, setIndoorEnabled হল true। এইসব ম্যাপের ধরনের ক্ষেত্রে ইনডোর সাপোর্ট উপলভ্য না থাকলে, রিলিজ নোট থেকে আপনি তা জানতে পারবেন।

শপিং মলের ইনডোর ম্যাপ যেখানে বেরোনোর রাস্তা ও মার্চেন্ডাইজ বিভাগ দেখানো হয়েছে।

API-তে ইনডোর ম্যাপের ক্ষমতার সারসংক্ষেপ এখানে দেওয়া হল:

  • আপনি GoogleMap.setIndoorEnabled(false)-এ কল করে ইনডোর ম্যাপ বন্ধ করতে পারবেন। ডিফল্ট হিসেবে, ইনডোর ম্যাপ চালু করা থাকে। ইনডোর ম্যাপ একবারে একটি ম্যাপে দেখানো হয়। ডিফল্ট হিসেবে এটি আপনার অ্যাপে যোগ করা প্রথম ম্যাপ। অন্য ম্যাপে ইনডোর ম্যাপ দেখাতে, প্রথম ম্যাপে এটি বন্ধ করুন, তারপর দ্বিতীয় ম্যাপে setIndoorEnabled(true) কল করুন।
  • ডিফল্ট লেভেল পিকার (ফ্লোর পিকার) বন্ধ করতে, GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(false) কল করুন। আরও তথ্যের জন্য, ম্যাপের সাথে ইন্টার‍্যাক্ট করা দেখুন।
  • OnIndoorStateChangeListener — লিসেনারকে সংজ্ঞায়িত করে যা কোনও বিল্ডিং ফোকাসে এলে বা বিল্ডিংয়ে কোনও লেভেল অ্যাক্টিভেট হলে শনাক্ত করে। আরও জানতে, ম্যাপের সাথে ইন্টার‍্যাক্ট করা দেখুন।
  • getFocusedBuilding — ফোকাসে থাকা বিল্ডিংয়ের তথ্য নিয়ে আসে। তারপর আপনি IndoorBuilding.getActiveLevelIndex()-এ কল করে অ্যাক্টিভ লেভেল খুঁজে পেতে পারেন।
  • বেস ম্যাপ স্টাইল করা ইনডোর ম্যাপকে প্রভাবিত করে না।

ম্যাপ প্যাডিং সেট-আপ করুন

এই ভিডিওতে ম্যাপ প্যাডিংয়ের একটি উদাহরণ দেখানো হয়েছে।

Google ম্যাপ এমনভাবে ডিজাইন করা হয়েছে যাতে এটি কন্টেনার এলিমেন্ট দ্বারা নির্ধারিত সম্পূর্ণ অঞ্চল পূরণ করতে পারে, সাধারণত MapView বা SupportMapFragment। ম্যাপ কীভাবে দেখা যাবে এবং কাজ করবে তার বিভিন্ন দিক এর কন্টেনারের ডাইমেনশন দ্বারা সংজ্ঞায়িত করা হয়:

  • ক্যামেরার টার্গেট প্যাডেড অঞ্চলের কেন্দ্রকে প্রতিফলিত করবে।
  • ম্যাপ কন্ট্রোল ম্যাপের প্রান্তের সাপেক্ষে পজিশন করা হয়।
  • কপিরাইট স্টেটমেন্ট বা Google লোগোর মতো আইনি তথ্য ম্যাপের নিচের প্রান্তে দেখা যায়।

GoogleMap ব্যবহার করে আপনি ম্যাপের প্রান্তের চারপাশে প্যাডিং যোগ করতে পারবেন।setPadding() পদ্ধতি। ম্যাপটি পুরো কন্টেনার জুড়ে দেখানো হবে, তবে টেক্সট ও কন্ট্রোল পজিশনিং, ম্যাপ জেসচার ও ক্যামেরা মুভমেন্ট এমনভাবে কাজ করবে যেন এটি একটি ছোট জায়গায় রাখা হয়েছে। এর ফলে নিম্নলিখিত পরিবর্তনগুলি হয়:

  • API কল বা বোতাম প্রেস (যেমন, কম্পাস, আমার লোকেশন, জুম বোতাম) ব্যবহার করে ক্যামেরার মুভমেন্ট প্যাডেড অঞ্চলের সাথে সম্পর্কিত।
  • getCameraPosition পদ্ধতি প্যাডেড অঞ্চলের কেন্দ্র ফিরিয়ে দেয়।
  • Projection এবং getVisibleRegion পদ্ধতি প্যাডেড অঞ্চল রিটার্ন করে।
  • UI কন্ট্রোলগুলি নির্দিষ্ট সংখ্যক পিক্সেল দ্বারা কন্টেনারের প্রান্ত থেকে অফসেট করা হয়।

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

ম্যাপ প্যাডিং

ম্যাপের কালার স্কিম

সাধারণ ও ভূদৃশ্য ধরনের ম্যাপের জন্য, আপনি ম্যাপের রঙের স্কিম ডাইনামিকভাবে ডার্ক, লাইট বা বর্তমান সিস্টেম সেটিং ব্যবহার করার জন্য সেট করতে পারেন। যেমন, দিনের সময় বা ডিভাইসটি ঘরের ভিতরে বা বাইরে ব্যবহার করা হচ্ছে কিনা তার উপর ভিত্তি করে আপনি ম্যাপের রঙের স্কিম গাঢ় বা হালকা করতে পারেন।

Android-এর জন্য Maps SDK-এর 20.1.0 ভার্সন থেকে শুরু করে, ম্যাপ ডিফল্ট হিসেবে বর্তমান সিস্টেম সেটিং অনুসরণ করে। আগের ভার্সনে, ম্যাপ ডিফল্ট হিসেবে লাইট মোড ব্যবহার করে। বর্তমান সিস্টেম সেটিংয়ের ভ্যালু UI_NIGHT_MODE_MASK-এর জন্য ডিভাইস সেটিংয়ের উপর ভিত্তি করে নির্ধারিত হয়।

Kotlin

mapFragment = SupportMapFragment.newInstance(GoogleMapOptions().mapColorScheme(MapColorScheme.DARK).mapId(mapId2))

Java

mapFragment = SupportMapFragment.newInstance(new GoogleMapOptions().mapColorScheme(MapColorScheme.DARK).mapId(mapId2));

আপনি GoogleMap.setMapColorScheme() পদ্ধতি ব্যবহার করে রঙের স্কিম টগল করতে পারেন, যাতে বর্তমান স্টাইল ডার্ক মোড, লাইট মোডে সেট করা যায় অথবা সিস্টেম সেটিংস অনুসরণ করা যায়।

Kotlin

googleMap.setMapColorScheme(MapColorScheme.DARK)
googleMap.setMapColorScheme(MapColorScheme.LIGHT)
googleMap.setMapColorScheme(MapColorScheme.FOLLOW_SYSTEM)

Java

googleMap.setMapColorScheme(MapColorScheme.DARK);
googleMap.setMapColorScheme(MapColorScheme.LIGHT);
googleMap.setMapColorScheme(MapColorScheme.FOLLOW_SYSTEM);

আপনার ম্যাপের জন্য কাস্টম লাইট স্টাইল ও ডার্ক স্টাইল তৈরি করতে, ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং ব্যবহার করুন।

ব্যাকগ্রাউন্ডের রঙ কনফিগার করুন

ডার্ক মোডে কাজ করার সময় বা ম্যাপ ভিউয়ের মধ্যে পরিবর্তন করার সময়, ডিফল্ট ম্যাপ ব্যাকগ্রাউন্ড কালার কনফিগার করা সহায়ক হতে পারে। এটি করার জন্য ম্যাপের বিকল্প backgroundColor প্রপার্টি সেট করতে হবে।

Kotlin

private val googleMapOptions: GoogleMapOptions =
    GoogleMapOptions().backgroundColor(Color.argb(255, 255, 0, 0));

Java

private GoogleMapOptions options = new GoogleMapOptions().backgroundColor(Color.argb(255, 255, 0, 0));

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