Mappls का सेटअप
Mappls (MapmyIndia) का आधिकारिक Android SDK का MapConductor से उपयोग करने की प्रक्रिया। प्रमाणीकरण ऐप पर रखी गई कॉन्फ़िगरेशन फ़ाइल से किया जाता है।
शुरू करने से पहले
क्रेडेंशियल्स प्राप्त करें
Mappls डेवलपर कंसोल पर ऐप पंजीकृत करें और क्रेडेंशियल्स प्राप्त करें। Mappls अन्य कंपनियों की तरह एक API कुंजी के बजाय, ऐप में रखी गई कॉन्फ़िगरेशन फ़ाइल (.a.conf / .a.olf)से प्रमाणीकरण करता है।
रिपॉजिटरी जोड़ें
Mappls SDK Maven Central के बजाय Mappls के अपने रिपॉजिटरी से वितरित किया जाता है।
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://maven.mappls.com/repository/mappls/") }
}
}निर्भरता जोड़ें
Mappls SDK और MapConductor मॉड्यूल डालें। संस्करण BOM मेल खाते हैं।
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")
}प्रमाणीकरण सेट करें
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())
}मैप डिज़ाइन
समस्या निवारण
मानचित्र पूरी तरह सफेद है, एक भी टाइल नहीं आ रही
- सत्यापित करें कि क्रेडेंशियल्स मानचित्र निर्माण से पहले सेट हैं या नहीं।
- Mappls कंसोल पर जांचें कि कुंजी मान्य है या उपयोग सीमा से अधिक नहीं है।
- सत्यापित करें कि डिवाइस नेटवर्क तक पहुँच सकता है या नहीं।
शैली बदलने पर style not found हो रहा है
- StandardNight और GreyDay अतिरिक्त शुल्क वाले भुगतान विकल्प हैं। यदि आपने अनुबंध नहीं किया है तो Default या StandardDay का उपयोग करें।
रास्टर लेयर आदि, Mappls के अलावा URL वाली टाइलें नहीं आ रही हैं
- Mappls का मूल HTTP परत, URL में mappls / mapmyindia शामिल न होने वाले अनुरोधों को छोड़ देता है या काट देता है। MapConductor ने इसे बायपास किया है, लेकिन यदि आप SDK के HTTP मॉड्यूल को स्वयं बदल रहे हैं तो बायपास भी हट जाएगा।
आगे
मार्कर, पॉलीलाइन, पॉलीगॉन, सर्कल, ग्राउंड इमेज, रास्टर लेयर और InfoBubble को सामान्य API के रूप में उपयोग किया जा सकता है। प्रदाता को बदलने पर भी ऐप ओर का कोड नहीं बदलता है।