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

การตั้งค่า TomTom

ขั้นตอนการใช้ TomTom Orbis Maps ผ่าน MapConductor มีฟังก์ชันเหมือนกับเวอร์ชัน Android และรองรับ Marker, Polyline, Polygon, Circle, GroundImage, RasterLayer และ InfoBubble

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

ก่อนเริ่ม

Xcode 15 ขึ้นไป
คีย์ API สำหรับ Orbis Maps จาก TomTom Developer Portal
เป้าหมายการทำให้ใช้งานได้ iOS 16.0 ขึ้นไป
STEP 01

รับคีย์ API

ออกคีย์ API สำหรับ Orbis Maps ใน TomTom Developer Portal

STEP 02

เพิ่มแหล่งที่มาของ TomTom SDK

TomTom Orbis Maps Display SDK มีให้ใช้งานเป็น xcframework แบบไบนารีจาก Artifactory ของ TomTom เนื่องจากแพ็กเกจ MapConductor อ้างอิงถึงสิ่งนี้เป็นเป้าหมายแบบไบนารี คุณจึงเพิ่มแหล่งที่มาของ TomTom ใน Podfile ของแอป

PodfileRuby
source 'https://api.tomtom.com/maps-sdk-ios/cocoapods'
STEP 03

เพิ่มด้วย Swift Package Manager

ป้อน URL ของแพ็กเกจจาก File > Add Package Dependencies ใน Xcode

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

ส่งคีย์ API

ส่งผ่านทีละมุมมอง หรือวางไว้ใน Info.plist

ContentView.swiftSwift
// Per view
TomTomMapView(state: state, apiKey: "YOUR_TOMTOM_API_KEY")
Info.plistXML
<key>TomTomAPIKey</key>
<string>YOUR_TOMTOM_API_KEY</string>

ตรวจสอบ

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

หากแผนที่และมาร์คเกอร์ปรากฏขึ้น ถือว่าเสร็จสิ้น มาร์คเกอร์ที่ลากได้สามารถลากได้ตามปกติ

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForTomTom

struct ContentView: View {
    @StateObject var state = TomTomMapViewState(
        mapDesignType: TomTomMapDesign.Standard,
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 52.3676, longitude: 4.9041),
            zoom: 11
        )
    )

    var body: some View {
        TomTomMapView(state: state) {
            Marker(state: MarkerState(
                position: GeoPoint(latitude: 52.3676, longitude: 4.9041),
                icon: DefaultMarkerIcon(label: "Amsterdam"),
                draggable: true
            ))
        }
    }
}

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

TomTomMapDesign รองรับสไตล์มาตรฐานสำหรับ Orbis Maps

TomTomMapDesign
Notes
Standard
สไตล์มาตรฐานสำหรับการดู
Driving
สำหรับการขับขี่
Satellite
ภาพดาวเทียม

การแก้ปัญหา

แผนที่ยังคงสีขาวทั้งหมด

  • ตรวจสอบว่า apiKey ของมุมมองหรือ TomTomAPIKey ใน Info.plist มีค่าหรือไม่
  • ตรวจสอบว่าเป้าหมายการทำให้ใช้งานได้เป็น iOS 16.0 ขึ้นไปหรือไม่

ไม่พบ xcframework

  • SDK ของ TomTom เป็นการแจกจ่ายแบบไบนารี ตรวจสอบว่าคุณได้เพิ่มแหล่งที่มาของ TomTom ใน Podfile หรือไม่

บิลด์ล้มเหลว

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

ถัดไป

เนื่องจาก TomTom ไม่มีการลากแบบเนทีฟสำหรับมาร์คเกอร์ MapConductor จึงใช้เจสเจอร์จาก MapView โดยตรงเพื่อใช้งานการลาก การซูมจะถูกคำนวณให้เทียบเท่ากับ Google โดยคำนึงถึงละติจูดของกล้อง