การตั้งค่า Mappls
คำแนะนำในการใช้ iOS SDK อย่างเป็นทางการของ Mappls (MapmyIndia) กับ MapConductor ติดตั้งด้วย Swift Package Manager และยืนยันตัวตนผ่านไฟล์การกำหนดค่าในแอปพลิเคชัน
ก่อนเริ่ม
รับข้อมูลรับรอง
ลงทะเบียนแอปพลิเคชันในคอนโซลนักพัฒนาของ Mappls และรับข้อมูลรับรอง ใน iOS การยืนยันตัวตนทำโดยใช้ไฟล์การกำหนดค่าชื่อ .i.conf / .i.olf ไม่ได้ใช้วิธีการส่งคีย์ API เพียงตัวเดียว
เพิ่มแพ็กเกจ
เพิ่มที่เก็บการแจกจ่ายของ Mappls และโมดูล MapConductor โดยใช้ Swift Package Manager
dependencies: [
.package(url: "https://github.com/mappls-api/mappls-map-ios-distribution.git", from: "6.1.5"),
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-mappls", from: "1.0.0"),
]วางไฟล์ยืนยันตัวตน
รวมไฟล์ .i.conf / .i.olf ที่ได้รับจาก Mappls ไว้ใน bundle ของแอปพลิเคชัน MapConductor จะโหลดไฟล์นี้ก่อนสร้างแผนที่ อย่ารวมไฟล์เหล่านี้ไว้ในการควบคุมซอร์สโค้ด
ตรวจสอบ
สิ่งที่ควรเห็น
แสดงแผนที่ที่มีจุดศูนย์กลางอยู่ที่เดลี หากกระเบื้องโหลดแล้วถือว่าเสร็จสิ้น
import SwiftUI
import MapConductorCore
import MapConductorForMappls
struct TestMappls: View {
@StateObject private var state = MapplsViewState(
mapDesignType: MapplsDesign.Default,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 28.6139, longitude: 77.2090),
zoom: 11
)
)
var body: some View {
MapplsMapView(state: state)
}
}ดีไซน์แผนที่
การแก้ปัญหา
แผนที่สีขาวสนิทและไม่มีกระเบื้องโหลดมาเลย
- ตรวจสอบว่าข้อมูลรับรองได้รับการตั้งค่าก่อนการสร้างแผนที่หรือไม่
- ตรวจสอบในคอนโซล Mappls ว่าคีย์ถูกต้องและไม่เกินโควต้าการใช้งานหรือไม่
- ตรวจสอบว่าอุปกรณ์สามารถเชื่อมต่อเครือข่ายได้หรือไม่
เมื่อเปลี่ยนสไตล์จะเกิดข้อผิดพลาด "style not found"
- StandardNight และ GreyDay เป็นตัวเลือกแบบชำระเงินที่มีค่าใช้จ่ายเพิ่มเติม หากคุณไม่มีสัญญา ให้ใช้ Default หรือ StandardDay
กระเบื้องจาก URL ที่ไม่ใช่ Mappls เช่น เลเยอร์แรสเตอร์ จะไม่แสดง
- เลเยอร์ HTTP เนทีฟของ Mappls จะทิ้งหรือตัดคำขอที่ไม่มี mappls / mapmyindia ใน URL MapConductor ได้หลีกเลี่ยงสิ่งนี้ไว้แล้ว แต่หากคุณเปลี่ยนโมดูล HTTP ของ SDK เอง การหลีกเลี่ยงก็จะถูกยกเลิก
ถัดไป
เครื่องหมาย, เส้นโค้ง, รูปหลายเหลี่ยม, วงกลม, ภาพพื้นดิน, เลเยอร์แรสเตอร์ และ InfoBubble สามารถใช้งานได้ตามปกติผ่าน API ทั่วไป