মানচিত্র রচনা লাইব্রেরি

জেটপ্যাক কম্পোজ হল একটি ঘোষণামূলক, নেটিভ UI টুলকিট যা UI বিকাশকে সহজ করে এবং ত্বরান্বিত করে। জেটপ্যাক কম্পোজের মাধ্যমে, আপনি আপনার অ্যাপটি কেমন দেখতে চান তা বর্ণনা করুন এবং তারপরে জেটপ্যাক কম্পোজকে বাকিটি পরিচালনা করতে দিন।

অ্যান্ড্রয়েডের জন্য মানচিত্র SDK-এর জন্য মানচিত্র রচনা লাইব্রেরি হল ওপেন-সোর্স কম্পোজযোগ্য ফাংশন এবং ডেটা প্রকারের একটি সেট যা আপনি আপনার অ্যাপ তৈরি করতে Jetpack রচনার সাথে ব্যবহার করতে পারেন।

মানচিত্র রচনা লাইব্রেরিতে কম্পোজযোগ্য ফাংশন এবং ডেটা প্রকার রয়েছে যা আপনাকে অনেক সাধারণ কাজ সম্পাদন করতে দেয়। কিছু সাধারণভাবে ব্যবহৃত সংমিশ্রণযোগ্য ফাংশন এবং ডেটা প্রকারের মধ্যে রয়েছে:

রচনাযোগ্য বর্ণনা
বৃত্ত একটি মানচিত্রে একটি বৃত্ত যোগ করার জন্য রচনাযোগ্য ফাংশন।
গুগলম্যাপ একটি মানচিত্র যোগ করার জন্য রচনাযোগ্য ফাংশন।
গ্রাউন্ডওভারলে একটি মানচিত্রে একটি গ্রাউন্ড ওভারলে যোগ করার জন্য রচনাযোগ্য ফাংশন।
মানচিত্র বৈশিষ্ট্য বৈশিষ্ট্যগুলির জন্য ডেটা প্রকার যা একটি মানচিত্রে পরিবর্তন করা যেতে পারে৷
MapUIS সেটিংস একটি মানচিত্রে UI- সম্পর্কিত সেটিংসের জন্য ডেটা প্রকার।
মার্কার একটি মানচিত্রে একটি মার্কার যোগ করার জন্য রচনাযোগ্য ফাংশন।
বহুভুজ একটি মানচিত্রে একটি বহুভুজ যোগ করার জন্য রচনাযোগ্য ফাংশন।
পলিলাইন একটি মানচিত্রে একটি পলিলাইন যোগ করার জন্য রচনাযোগ্য ফাংশন।
টাইলওভারলে একটি মানচিত্রে একটি টাইল ওভারলে যোগ করার জন্য রচনাযোগ্য ফাংশন।

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

প্রয়োজনীয়তা

Android এর জন্য মানচিত্র SDK-এর সাথে মানচিত্র রচনা লাইব্রেরি ব্যবহার করতে আপনাকে অবশ্যই:

  • অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স ডাউনলোড এবং ইনস্টল করুন।
  • এর সাথে Android স্টুডিওতে একটি Google মানচিত্র প্রকল্প তৈরি করুন :

    • খালি রচনা কার্যকলাপের একটি টেমপ্লেট প্রকার। এই টেমপ্লেটটি জেটপ্যাক কম্পোজের প্রয়োজনীয় নির্ভরতা যোগ করে।
    • ন্যূনতম SDK এপিআই 21 এ সেট করা হয়েছে: Android 5.0 (ললিপপ) বা তার পরে।
    • ভাষা কোটলিনে সেট করা হয়েছে।
  • একটি API কী পান এবং এটি আপনার প্রকল্পে যোগ করুন।

  • পরবর্তী বিভাগে বর্ণিত প্রকল্পে মানচিত্র রচনা লাইব্রেরি ইনস্টল করুন।

ইনস্টলেশন

আপনার Google মানচিত্র প্রকল্পে মানচিত্র রচনা লাইব্রেরি ইনস্টল করতে:

  1. আপনার মডিউল-স্তরের build.gradle.kts ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন:

      dependencies {
    
        // Android Maps Compose composables for the Maps SDK for Android
        implementation("com.google.maps.android:maps-compose:6.1.0")
    }

  2. এই পরিবর্তনগুলি সিঙ্ক করতে Android স্টুডিওতে আপনার প্রকল্পটি পুনরায় তৈরি করুন৷

আপনার অ্যাপে একটি মানচিত্র যোগ করুন

নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি মানচিত্র যোগ করতে GoogleMap কম্পোজেবল ব্যবহার করতে হয়।

val singapore = LatLng(1.35, 103.87)
val singaporeMarkerState = rememberMarkerState(position = singapore)
val cameraPositionState = rememberCameraPositionState {
  position = CameraPosition.fromLatLngZoom(singapore, 10f)
}
GoogleMap(
  modifier = Modifier.fillMaxSize(),
  cameraPositionState = cameraPositionState
) {
  Marker(
    state = singaporeMarkerState,
    title = "Singapore",
    snippet = "Marker in Singapore"
  )
}

এই উদাহরণে, মানচিত্রটি সর্বাধিক অনুমোদিত স্থান দখল করে এবং এর ক্যামেরাটি সিঙ্গাপুরকে কেন্দ্র করে। একটি CameraPositionState তৈরি করা হয় এবং ক্যামেরার অবস্থান সেট করার জন্য cameraPositionState এ প্রদান করা হয়।

উদাহরণটি তখন মানচিত্রে একটি মার্কার যুক্ত করতে মানচিত্রের বিষয়বস্তুতে মার্কারকে কম্পোজযোগ্য বলে।

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

একটি মানচিত্রে বৈশিষ্ট্য সেট করুন

আপনি একটি MapProperties অবজেক্ট, অথবা UI- সম্পর্কিত বৈশিষ্ট্যগুলির জন্য একটি MapUiSettings অবজেক্ট প্রদান করে মানচিত্রে বৈশিষ্ট্যগুলি সেট করতে পারেন৷ মানচিত্রের পুনর্গঠন ট্রিগার করতে আপনি এই বস্তুগুলিকে সংশোধন করতে পারেন।

নীচের উদাহরণে, মানচিত্রে জুম নিয়ন্ত্রণ টগল করতে একটি সুইচ , একটি উপাদান ডিজাইন উপাদান ব্যবহার করুন৷

var uiSettings by remember { mutableStateOf(MapUiSettings()) }
var properties by remember {
  mutableStateOf(MapProperties(mapType = MapType.SATELLITE))
}

Box(Modifier.fillMaxSize()) {
  GoogleMap(
    modifier = Modifier.matchParentSize(),
    properties = properties,
    uiSettings = uiSettings
  )
  Switch(
    checked = uiSettings.zoomControlsEnabled,
    onCheckedChange = {
      uiSettings = uiSettings.copy(zoomControlsEnabled = it)
    }
  )
}

এরপর কি