เอกสาร / การตั้งค่า / iOS / Longdo

การตั้งค่า Longdo

วิธีการใช้ Longdo Map iOS SDK (Longdo Map Framework 4.x) ผ่าน MapConductor เวอร์ชัน iOS จะวาดเครื่องหมาย, เส้นประ, รูปหลายเหลี่ยม, วงกลม, ภาพพื้นดิน และเลเยอร์แรสเตอร์เป็นโอเวอร์เลย์แบบเนทีฟ

PACKAGE
ios-for-longdo
API KEY
จำเป็น
MIN iOS
16.0
VIEW
LongdoMapView
ผู้ให้บริการเดียวกัน แพลตฟอร์มอื่นAndroidReact

ก่อนเริ่ม

Xcode 15 ขึ้นไป
คีย์ API ที่ออกโดย Longdo Map Console
Deployment Target iOS 16.0 ขึ้นไป
STEP 01

รับคีย์ API

ออกคีย์ใน Longdo Map Console

STEP 02

เพิ่มผ่าน Swift Package Manager

ป้อน URL ของแพ็กเกจจาก File > Add Package Dependencies ใน Xcode Longdo Map Framework (ไบนารี XCFramework) จะถูกเพิ่มเป็นการพึ่งพาโดยอัตโนมัติ จัดจำหน่ายผ่าน SwiftPM เท่านั้น

Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-longdo
Package.swiftSwift
dependencies: [
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-longdo", from: "1.0.0"),
],
targets: [
    .target(
        name: "YourApp",
        dependencies: [
            .product(name: "MapConductorCore", package: "ios-sdk-core"),
            .product(name: "MapConductorForLongdo", package: "ios-for-longdo"),
        ]
    ),
]
STEP 03

ส่งคีย์ API

สามารถใช้วิธีใดก็ได้จากสามวิธี

MyApp.swiftSwift
LongdoInitSDK.apiKey = "YOUR_LONGDO_API_KEY"

// or per view:
// LongdoMapView(state: state, apiKey: "YOUR_LONGDO_API_KEY") { ... }

// or add LONGDO_API_KEY to Info.plist

ตรวจสอบ

สิ่งที่ควรเห็น

ถ้าแผนที่ปรากฏขึ้นโดยมีกรุงเทพฯ อยู่ตรงกลางและมีการวาดเครื่องหมายและวงกลม ถือว่าเสร็จสิ้นแล้ว

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForLongdo

struct ContentView: View {
    @StateObject private var state = LongdoViewState(
        mapDesignType: LongdoDesign.Normal,
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 13.7563, longitude: 100.5018),
            zoom: 12
        )
    )

    var body: some View {
        LongdoMapView(state: state) {
            Marker(
                position: GeoPoint(latitude: 13.7563, longitude: 100.5018),
                icon: DefaultMarkerIcon(label: "A")
            )
            Circle(
                center: GeoPoint(latitude: 13.7563, longitude: 100.5018),
                radiusMeters: 1500
            )
        }
    }
}

ดีไซน์แผนที่

LongdoDesign รองรับเลเยอร์พื้นฐานของ Longdo

LongdoDesign
Notes
Normal / Easy / Political
สไตล์มาตรฐาน
Pastel / PastelGray / Light / Gray
สไตล์สีอ่อน
Night / Dark / Hard
โทนสีเข้และคอนทราสต์สูง
Satellite / Hybrid
ภาพดาวเทียมและไฮบริด
Osm
ฐาน OpenStreetMap

การแก้ปัญหา

แผนที่ไม่ปรากฏ

  • ตรวจสอบให้แน่ใจว่าคีย์ API ถูกส่งผ่านอย่างแน่นอนด้วยหนึ่งในสามวิธี
  • ตรวจสอบให้แน่ใจว่า Deployment Target เป็น iOS 16.0 ขึ้นไป

ช้าเมื่อมีเครื่องหมายมาก

  • เนื่องจาก Longdo วาดเครื่องหมายทีละรายการ การปรับให้เหมาะสมด้วยการทำไทล์หรือการคลัสเตอร์จึงไม่ทำงาน หากคุณต้องการเครื่องหมายจำนวนมาก โปรดพิจารณาผู้ให้บริการรายอื่น

บิลด์ไม่ผ่าน

  • ล้างโฟลเดอร์บิลด์ (Cmd+Shift+K)
  • ลบ ~/Library/Developer/Xcode/DerivedData แล้วบิลด์ใหม่
  • อัปเดตการพึ่งพาของ Swift Package Manager หลีกเลี่ยงการใช้ร่วมกับ CocoaPods

ถัดไป

เนื่องจากหน่วยรัศมีของ Circle ของ Longdo ไม่ชัดเจน จึงวาดวงแหวนจีโอเดซิกเป็นรูปหลายเหลี่ยม สามารถระบุรัศมีเป็นเมตรได้