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

Mappls का सेटअप

Mappls (MapmyIndia) का आधिकारिक Android SDK का MapConductor से उपयोग करने की प्रक्रिया। प्रमाणीकरण ऐप पर रखी गई कॉन्फ़िगरेशन फ़ाइल से किया जाता है।

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

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

Android विकास वातावरण (Android Studio)
Mappls (MapmyIndia) का खाता और क्रेडेंशियल्स
STEP 01

क्रेडेंशियल्स प्राप्त करें

Mappls डेवलपर कंसोल पर ऐप पंजीकृत करें और क्रेडेंशियल्स प्राप्त करें। Mappls अन्य कंपनियों की तरह एक API कुंजी के बजाय, ऐप में रखी गई कॉन्फ़िगरेशन फ़ाइल (.a.conf / .a.olf)से प्रमाणीकरण करता है।

STEP 02

रिपॉजिटरी जोड़ें

Mappls SDK Maven Central के बजाय Mappls के अपने रिपॉजिटरी से वितरित किया जाता है।

settings.gradle.ktsKotlin
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://maven.mappls.com/repository/mappls/") }
    }
}
STEP 03

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

Mappls SDK और MapConductor मॉड्यूल डालें। संस्करण BOM मेल खाते हैं।

app/build.gradle.ktsKotlin
dependencies {
    // Mappls Android SDK
    implementation("com.mappls.sdk:mappls-android-sdk:9.0.3")

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

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:compose")
    implementation("com.mapconductor:for-mappls")
}
STEP 04

प्रमाणीकरण सेट करें

Mappls से प्राप्त .a.conf / .a.olf को ऐप में रखें और Mappls Gradle प्लगइन (com.mappls.services.android)लागू करें। MapConductor क्रेडेंशियल्स AndroidManifest से नहीं पढ़ता। नक्शा बनने से पहले Mappls SDK की अपनी विधि से प्रारंभ होना आवश्यक है। कॉन्फ़िगरेशन फ़ाइल को स्रोत नियंत्रण में न डालें।

जाँच

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

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

@Composable
fun TestMappls(modifier: Modifier = Modifier) {
    val mapState = rememberMapplsMapViewState(
        mapDesign = MapplsDesign.Default,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(latitude = 28.6139, longitude = 77.2090),
            zoom = 11.0,
        ),
    )

    MapplsMapView(state = mapState, modifier = modifier.fillMaxSize())
}

मैप डिज़ाइन

Notes
Default
अनुबंध से स्वतंत्र रूप से उपयोग करने योग्य डिफ़ॉल्ट शैली
StandardDay
मानक दिन शैली
StandardNight / GreyDay
अतिरिक्त शुल्क वाला भुगतान विकल्प। अनुबंध न होने पर SDK इसे अस्वीकार कर देगा

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

मानचित्र पूरी तरह सफेद है, एक भी टाइल नहीं आ रही

  • सत्यापित करें कि क्रेडेंशियल्स मानचित्र निर्माण से पहले सेट हैं या नहीं।
  • Mappls कंसोल पर जांचें कि कुंजी मान्य है या उपयोग सीमा से अधिक नहीं है।
  • सत्यापित करें कि डिवाइस नेटवर्क तक पहुँच सकता है या नहीं।

शैली बदलने पर style not found हो रहा है

  • StandardNight और GreyDay अतिरिक्त शुल्क वाले भुगतान विकल्प हैं। यदि आपने अनुबंध नहीं किया है तो Default या StandardDay का उपयोग करें।

रास्टर लेयर आदि, Mappls के अलावा URL वाली टाइलें नहीं आ रही हैं

  • Mappls का मूल HTTP परत, URL में mappls / mapmyindia शामिल न होने वाले अनुरोधों को छोड़ देता है या काट देता है। MapConductor ने इसे बायपास किया है, लेकिन यदि आप SDK के HTTP मॉड्यूल को स्वयं बदल रहे हैं तो बायपास भी हट जाएगा।

आगे

मार्कर, पॉलीलाइन, पॉलीगॉन, सर्कल, ग्राउंड इमेज, रास्टर लेयर और InfoBubble को सामान्य API के रूप में उपयोग किया जा सकता है। प्रदाता को बदलने पर भी ऐप ओर का कोड नहीं बदलता है।