문서 / 설정 / 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
시작하기 전에
Xcode 15 이상
Longdo Map 콘솔에서 발행한 API 키
디플로이 타깃 iOS 16.0 이상
STEP 01
API 키를 취득한다
Longdo Map 콘솔에서 키를 발행합니다.
STEP 02
Swift Package Manager로 추가한다
Xcode의 File > Add Package Dependencies에서 패키지 URL을 입력합니다. 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 키를 넘긴다
3가지 중 어느 것이든 상관없습니다.
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 키가 3가지 중 어느 하나로 확실히 전달되고 있는지 확인합니다.
- 디플로이 타깃이 iOS 16.0 이상인지 확인합니다.
마커가 많으면 무겁다
- Longdo는 마커를 하나씩 렌더링하기 때문에, 타일링이나 클러스터링에 의한 최적화는 듣지 않습니다. 대량의 마커가 필요한 경우는 다른 프로바이더를 검토해 주세요.
빌드가 통과하지 않는다
- 빌드 폴더를 지웁니다(Cmd+Shift+K).
- ~/Library/Developer/Xcode/DerivedData를 삭제하고 다시 빌드합니다.
- Swift Package Manager의 의존을 갱신합니다. CocoaPods와의 병용은 피해 주세요.
다음
원은 Longdo의 Circle의 반지름 단위가 애매하기 때문에, 측지선의 링을 폴리곤으로 그리고 있습니다. 반지름은 미터로 지정할 수 있습니다.