การตั้งค่า Mappls
ขั้นตอนการใช้ Mappls (MapmyIndia) Android SDK อย่างเป็นทางการจาก MapConductor การยืนยันตัวตนดำเนินการผ่านไฟล์การกำหนดค่าที่วางไว้ในแอป
ก่อนเริ่ม
รับข้อมูลรับรอง
ลงทะเบียนแอปในคอนโซลนักพัฒนาซอฟต์แวร์ของ Mappls และรับข้อมูลรับรอง Mappls ไม่ใช้คีย์ API เดียวเหมือนผู้ให้บริการรายอื่น แต่ใช้การยืนยันตัวตนด้วยไฟล์การกำหนดค่า (.a.conf / .a.olf) ที่วางไว้ในแอป
เพิ่มที่เก็บ
Mappls SDK ถูกจัดจำหน่ายจากที่เก็บของ Mappls เอง ไม่ใช่จาก Maven Central
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")
}ตั้งค่าการยืนยันตัวตน
วาง .a.conf / .a.olf ที่ได้รับจาก Mappls ไว้ในแอป และใช้ปลั๊กอิน 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
ไทล์จาก URL ที่ไม่ใช่ Mappls เช่น เลเยอร์แรสเตอร์ จะไม่แสดง
- เลเยอร์ HTTP แบบเนทีฟของ Mappls จะทิ้งหรือตัดคำขอที่ไม่มี mappls / mapmyindia ใน URL MapConductor ได้หลีกเลี่ยงปัญหานี้ไปแล้ว แต่หากคุณเปลี่ยนโมดูล HTTP ของ SDK เอง การหลีกเลี่ยงก็จะถูกยกเลิก
ถัดไป
คุณยังสามารถใช้ Marker, Polyline, Polygon, Circle, GroundOverlay, RasterLayer และ InfoBubble ผ่าน API ทั่วไปได้เหมือนเดิม โค้ดแอปพลิเคชันจะไม่เปลี่ยนแปลงแม้ว่าจะเปลี่ยนผู้ให้บริการ