문서 / 설정 / 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
시작하기 전에
Xcode 15 이상
TomTom Developer Portal의 Orbis Maps API 키
디플로이 타깃 iOS 16.0 이상
STEP 01
API 키를 취득한다
TomTom Developer Portal에서 Orbis Maps용 API 키를 발행합니다.
STEP 02
TomTom SDK의 배포처를 더한다
TomTom Orbis Maps Display SDK는 바이너리의 xcframework로서 TomTom의 Artifactory에서 배포됩니다. MapConductor의 패키지는 그것을 바이너리 타깃으로 참조하기 때문에, 앱 쪽의 Podfile에 TomTom의 소스를 추가합니다.
PodfileRuby
source 'https://api.tomtom.com/maps-sdk-ios/cocoapods'
STEP 03
Swift Package Manager로 추가한다
Xcode의 File > Add Package Dependencies에서 패키지 URL을 입력합니다.
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>
동작 확인
여기까지 보이면 완료
지도와 마커가 나오면 완료입니다. draggable한 마커는 그대로 드래그할 수 있습니다.
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나 Info.plist의 TomTomAPIKey에 값이 들어 있는지 확인합니다.
- 디플로이 타깃이 iOS 16.0 이상인지 확인합니다.
xcframework를 찾을 수 없다
- TomTom의 SDK는 바이너리 배포입니다. Podfile에 TomTom의 소스를 더했는지 확인합니다.
빌드가 통과하지 않는다
- 빌드 폴더를 지웁니다(Cmd+Shift+K).
- ~/Library/Developer/Xcode/DerivedData를 삭제하고 다시 빌드합니다.
- Swift Package Manager의 의존을 갱신합니다. CocoaPods와의 병용은 피해 주세요.
다음
TomTom은 마커의 네이티브 드래그를 갖지 않기 때문에, MapConductor가 MapView의 제스처를 직접 처리해 드래그를 구현하고 있습니다. 줌은 카메라의 위도를 고려해 Google 상당으로 환산됩니다.