ドキュメント / セットアップ / 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 以上
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.1.4"),
    .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 はマーカーを 1 つずつ描画するため、タイリングやクラスタリングによる最適化は効きません。大量のマーカーが必要な場合は別のプロバイダを検討してください。

ビルドが通らない

  • ビルドフォルダーをクリアします(Cmd+Shift+K)。
  • ~/Library/Developer/Xcode/DerivedData を削除して再ビルドします。
  • Swift Package Manager の依存を更新します。CocoaPods との併用は避けてください。

次に

円は Longdo の Circle の半径単位が曖昧なため、測地線のリングをポリゴンとして描いています。半径はメートルで指定できます。