Maps Compose की लाइब्रेरी

Jetpack Compose यह जानकारी देने वाला नेटिव यूज़र इंटरफ़ेस (यूआई) टूलकिट है. यह टूल, यूआई डेवलपमेंट. Jetpack Compose की मदद से यह बताएं कि आपको अपने ऐप्लिकेशन में कैसा दिखना चाहिए पसंद करते हैं और फिर Jetpack Compose का काम अन्य चीज़ों के लिए किया जाता है.

Maps Compose लाइब्रेरी के लिए, एक ओपन-सोर्स कंपोज़ेबल फ़ंक्शन का सेट है डेटा टाइप और Jetpack Compose का इस्तेमाल करके अपना ऐप्लिकेशन बनाएं.

Maps Compose लाइब्रेरी में कंपोज़ेबल फ़ंक्शन और डेटा टाइप होते हैं कई सामान्य काम किए जा सकते हैं. आम तौर पर इस्तेमाल किए जाने वाले कंपोज़ेबल फ़ंक्शन और डेटा टाइप में ये शामिल हैं:

आसानी से मैनेज और छोटे किए जा सकने वाले डिवाइस ब्यौरा
सर्कल किसी मैप पर सर्कल जोड़ने के लिए कंपोज़ेबल फ़ंक्शन.
GoogleMap मैप जोड़ने के लिए कंपोज़ेबल फ़ंक्शन.
GroundOverlay मैप पर ग्राउंड ओवरले जोड़ने के लिए आसानी से मैनेज किया जा सकने वाला फ़ंक्शन.
MapProperties उन प्रॉपर्टी का डेटा टाइप जिन्हें मैप पर बदला जा सकता है.
MapUISettings मैप पर यूज़र इंटरफ़ेस (यूआई) से जुड़ी सेटिंग के लिए डेटा का टाइप.
मार्कर मैप पर मार्कर जोड़ने के लिए कंपोज़ेबल फ़ंक्शन.
पॉलीगॉन मैप में पॉलीगॉन जोड़ने के लिए आसानी से मैनेज किया जा सकने वाला फ़ंक्शन.
पॉलीलाइन मैप पर पॉलीलाइन जोड़ने के लिए आसानी से मैनेज किया जा सकने वाला फ़ंक्शन.
TileOverlay मैप पर टाइल ओवरले जोड़ने के लिए आसानी से मैनेज किया जा सकने वाला फ़ंक्शन.

कंपोज़ेबल में शामिल सभी फ़ंक्शन और डेटा टाइप की पूरी सूची देखने के लिए, यहां जाएं Maps Compose लाइब्रेरी का रेफ़रंस.

ज़रूरी शर्तें

Android के लिए Maps SDK के साथ Maps Compose लाइब्रेरी का इस्तेमाल करने के लिए:

  • डाउनलोड करें और Android Studio Arctic Fox को इंस्टॉल करें.
  • Google Maps प्रोजेक्ट बनाना Android Studio में इन सुविधाओं का इस्तेमाल करके:

    • खाली तरीके से लिखने की सुविधा वाला टेंप्लेट टाइप. यह टेम्प्लेट आवश्यक Jetpack Compose के लिए डिपेंडेंसी.
    • कम से कम SDK टूल को एपीआई 21: Android 5.0 (Lollipop) या इसके बाद के वर्शन पर सेट करें.
    • भाषा को Kotlin पर सेट किया गया है.
  • एपीआई पासकोड पाएं और इसे अपने प्रोजेक्ट में जोड़ें.

  • अगले सेक्शन में बताए गए तरीके से प्रोजेक्ट में Maps Compose लाइब्रेरी इंस्टॉल करें.

इंस्टॉल करना

अपने Google Maps प्रोजेक्ट में Maps Compose लाइब्रेरी इंस्टॉल करने के लिए:

  1. अपने मॉड्यूल-लेवल की build.gradle फ़ाइल में, ये डिपेंडेंसी जोड़ें:

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

  2. इन बदलावों को सिंक करने के लिए, Android Studio में अपना प्रोजेक्ट फिर से बनाएं.

अपने ऐप्लिकेशन में मैप जोड़ें

नीचे दिया गया उदाहरण, GoogleMap कंपोज़ेबल.

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

इस उदाहरण में, मैप और उसके कैमरे के लिए, तय की गई सीमा से ज़्यादा जगह का इस्तेमाल किया गया है मुख्य शहर सिंगापुर के आस-पास है. कैमरे की स्थिति सेट करने के लिए, cameraPositionState में एक CameraPositionState भी बनाया और दिया जाता है.

इसके बाद उदाहरण मार्कर मैप के कॉन्टेंट में कंपोज़ेबल. इसका इस्तेमाल करके मैप पर मार्कर जोड़ा जा सकता है.

इस उदाहरण की तुलना ऐसे उदाहरण से करने के लिए जो दृश्य का उपयोग करके मैप जोड़ता है, देखें QuickStart. देखें कि कैसे कंपोज़ेबल फ़ंक्शन को कम कोड की ज़रूरत होती है और आपको मैप के लाइफ़साइकल के बारे में चिंता करने की ज़रूरत नहीं होती.

मैप पर प्रॉपर्टी सेट करें

MapProperties देकर मैप पर प्रॉपर्टी सेट की जा सकती हैं ऑब्जेक्ट या इसके लिए 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)
    }
  )
}

आगे क्या करना है