दस्तावेज़ / शुरू करें / MapLibre

MapLibre से पहला मानचित्र प्रदर्शित करें

MapConductor के साथ MapLibre मानचित्र प्रदर्शित करने के चरण। सेटअप प्लेटफ़ॉर्म के अनुसार भिन्न होता है, लेकिन मानचित्र और मार्कर लिखने के लिए कोड का तर्क समान रहता है।

TIME
5 मिनट
PROVIDER
MapLibre
API KEY
आवश्यक नहीं
LICENSE
OSS
प्लेटफ़ॉर्म
केवल सेटअप में अंतर है

01 · इंस्टॉलेशन

निर्भरताओं में core और for-maplibre जोड़ें। अन्य प्रदाता का उपयोग करने के लिए बस मॉड्यूल बदलें।

settings.gradle.ktsKotlin
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
    }
}
app/build.gradle.ktsKotlin
dependencies {
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-maplibre")
    // वैकल्पिक: compose / icons / heatmap / marker-clustering / geojson / kml
}

02 · टाइल तय करें

MapLibre में API कुंजी नहीं होती है। मानचित्र का दृश्य टाइल के स्रोत द्वारा निर्धारित होता है।

DEMO TILES

डेमो टाइल्स से शुरू करें

MapLibreDesign.DemoTiles / OpenMapTiles को जैसा है वैसे ही निर्दिष्ट करने पर, बिना कुंजी के कार्य की पुष्टि की जा सकती है।

HOSTED TILES

उत्पादन के लिए होस्टिंग तैयार करें

MapTiler आदि जैसी टाइल वितरण सेवाओं का उपयोग करने पर, प्रत्येक सेवा की कुंजी को स्टाइलURL में सेट करें।

NOTE

डेमो टाइल्स कार्य सत्यापन के लिए हैं। उत्पादन ऐप्स में अपनी या वाणिज्यिक टाइल वितरण सेवा का उपयोग करें।

03 · Hello Map

कैमरा स्थिति के साथ एक स्टेट ऑब्जेक्ट बनाएं और मानचित्र दृश्य में पास करें। मार्कर और इन्फो बबल जैसे ओवरले को चाइल्ड एलिमेंट के रूप में घोषित करें। मार्कर टैप होने पर इन्फो बबल दिखाएं और मानचित्र टैप होने पर इसे बंद करें।

स्टेट ऑब्जेक्ट को कंपोनेंट के जीवनकाल के दौरान बनाए रखा जाता है। प्रॉपर्टी को सीधे अपडेट करने से, बिना दृश्य को पुनः बनाए परिलक्षित होता है।
SimpleMapScreen.kt · Jetpack Compose
@Composable
fun SimpleMapScreen(modifier: Modifier) {
    var selected by remember { mutableStateOf<MarkerState?>(null) }

    val mapState = rememberMapLibreMapViewState(
        cameraPosition = MapCameraPosition(
            position = GeoPoint(35.6812, 139.7671),
            zoom = 14.0,
        ),
        mapDesign = MapLibreDesign.OsmBright,
    )
    val markerState = remember {
        MarkerState(
            position = GeoPoint(35.6812, 139.7671),
            onClick = { selected = it },
        )
    }

    MapLibreMapView(
        modifier = modifier,
        state = mapState,
        onMapClick = { selected = null },
    ) {
        Marker(markerState)
        selected?.let {
            InfoBubble(marker = it) { Text("Hello, MapConductor") }
        }
    }
}

RESULT · काम करने तक

टोक्यो स्टेशन को केंद्र में रखकर मानचित्र प्रदर्शित होता है और एक मार्कर दिखाई देता है। मार्कर को टैप करने पर "Hello, MapConductor" का बुलबुला दिखाई दे तो काम पूरा हो गया।

MapLibre · Marker · InfoBubble

04 · प्रदाता बदलें

वही स्क्रीन कोड के साथ, निर्भर मॉड्यूल और दृश्य नाम बदलकर अन्य प्रदाता पर चलाया जा सकता है। केवल परिचय के चरण — कुंजी प्राप्त करना और प्रारंभ की विधि — बदलते हैं।

Google Maps

Apple MapKit

Leaflet

OpenLayers

Azure Maps

Cesium

Open Mobile Maps

संबंधित पेज