दस्तावेज़ / सेटअप / Android / MapTiler

MapTiler का सेटअप

MapConductor से MapTiler का आधिकारिक Android SDK (com.maptiler:maptiler-sdk-kotlin) उपयोग करने की प्रक्रिया। MapTiler Cloud के संदर्भ शैलियों (reference styles) को नाम से चुन सकते हैं।

MODULE
com.mapconductor:for-maptiler
API KEY
आवश्यक
VIEW
MapTilerMapView
TIME
10 मिनट
वही प्रोवाइडर, दूसरे प्लेटफ़ॉर्मiOSReact

शुरू करने से पहले

Android विकास वातावरण (Android Studio)
MapTiler Cloud का खाता और API कुंजी
STEP 01

API कुंजी प्राप्त करें

MapTiler Cloud के डैशबोर्ड पर API कुंजी जारी करें। मुफ्त कोटा (free tier) उपलब्ध है।

STEP 02

निर्भरता जोड़ें

MapTiler SDK को Maven Central से प्राप्त किया जा सकता है।

app/build.gradle.ktsKotlin
dependencies {
    // MapTiler Android SDK
    implementation("com.maptiler:maptiler-sdk-kotlin:2.1.0")

    // MapConductor BOM pins every module below
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-maptiler")
}
STEP 03

API कुंजी पारित करें

मॉड्यूल मेनिफेस्ट के meta-data से कुंजी पढ़ता है। यदि आप Secrets Gradle Plugin का उपयोग करते हैं, तो प्लेसहोल्डर के माध्यम से करें। कोड से सीधे कॉन्फ़िगर किया जा सकता है।

AndroidManifest.xmlXML
<manifest>
    <uses-permission android:name="android.permission.INTERNET" />

    <application>
        <meta-data
            android:name="MAPTILER_API_KEY"
            android:value="${MAPTILER_API_KEY}" />
    </application>
</manifest>
MainActivity.ktKotlin
// Alternative: set it in code before the first map is shown
com.maptiler.maptilersdk.MTConfig.apiKey = "YOUR_MAPTILER_API_KEY"
सावधानी
secrets.properties को वर्जन कंट्रोल में कमिट न करें। .gitignore में जोड़ने से दुर्घटनाएं रोकी जा सकती हैं। CI में पर्यावरण चर आदि अन्य सुरक्षित माध्यम से पारित किया जाता है।

जाँच

आपको क्या दिखना चाहिए

शैली चुनें और मानचित्र प्रदर्शित करें। टाइल लोड हो जाने पर पूर्ण हो जाएगा।

TestMapTiler.ktJetpack Compose
@Composable
fun TestMapTiler(modifier: Modifier = Modifier) {
    val mapState = rememberMapTilerMapViewState(
        mapDesign = MapTilerDesign.Streets,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(35.6812, 139.7671),
            zoom = 11.0,
        ),
    )

    // If the map appears, the setup is correct.
    MapTilerMapView(state = mapState, modifier = modifier)
}

मैप डिज़ाइन

MapTilerDesign में MapTiler Cloud की संदर्भ शैलियों (reference styles) को उसी रूप में क्रमबद्ध किया गया है।

MapTilerDesign
Notes
Streets / StreetsDark / StreetsLight
मानक सड़क मानचित्र और चमक/अंधेरे (light/dark) विविधताएं
Basic / Bright
जानकारी की मात्रा को कम करने वाली शैलियां
Satellite
उपग्रह चित्र
Outdoor / Winter / Topo
आउटडोर, सर्दी, भूप्रकृति
Toner / Dataviz / Backdrop
डेटा को लोड करने के लिए आधार परत के लिए
Ocean / Landscape / Aquarelle / OpenStreetMap
अन्य थीम-आधारित शैलियां

समस्या निवारण

मानचित्र पूरी तरह सफेद है

  • जांचें कि मेनिफेस्ट के MAPTILER_API_KEY में वास्तविक मान है या नहीं।
  • MapTiler Cloud पर जांचें कि कुंजी मान्य है और मुफ्त कोटा से अधिक उपयोग नहीं किया गया है।
  • जांचें कि INTERNET अनुमति (permission) संलग्न है या नहीं।

बिल्ड विफल हो रहा है

  • जांचें कि मानचित्र SDK के निर्देशांक और संस्करण संस्करण कैटलॉग के निर्दिष्ट से मेल खाते हैं या नहीं।
  • जांचें कि settings.gradle.kts में रिपॉजिटरी परिभाषा है (repositoriesMode FAIL_ON_PROJECT_REPOS है, तो मॉड्यूल की repositories अनदेखी कर दी जाएंगी)।
  • यदि आप एक साथ कई मानचित्र SDK डाल रहे हैं, तो निर्भरता संघर्ष के लिए ./gradlew :app:dependencies से जांच करें।

आगे

मार्कर, पॉलीलाइन, पॉलीगन, सर्कल, ग्राउंड इमेज, रास्टर लेयर और InfoBubble सभी कॉमन API के साथ उपयोग किए जा सकते हैं। MapTiler का Android SDK MapLibre GL JS को WebView में चलाने के लिए कॉन्फ़िगर है, इसलिए आकृतियाँ GeoJSON स्रोत और fill / line लेयर के रूप में स्टाइल में जोड़ी जाती हैं। जियोडेसिक इंटरपोलेशन और छेद की प्रक्रिया कोर कॉमन इम्प्लीमेंटेशन का उपयोग करती है, इसलिए यह अन्य प्रदाताओं के समान होता है।