ドキュメント / セットアップ / iOS / Open Mobile Maps
Open Mobile Maps セットアップ
Open Mobile Maps(maps-core)を MapConductor から使う手順です。Swift Package Manager で入れ、API キーは要りません。
MODULE
MapConductorForOpenMobileMaps
API KEY
不要
VIEW
OpenMobileMapsMapView
TIME
10 分
ほかのプラットフォームAndroid
前提
Xcode 15 以上
iOS 16.0 以上を対象とするアプリ
STEP 01
パッケージを追加する
maps-core と MapConductor のモジュールを Swift Package Manager で追加します。
Package.swiftSwift
dependencies: [
.package(url: "https://github.com/openmobilemaps/maps-core", from: "4.0.0"),
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-openmobilemaps", from: "1.0.0"),
]STEP 02
タイルの配信元を決める
キーが無いぶん、タイルをどこから取るかは自分で決めることになります。OpenStreetMap の公式タイルサーバーは利用ポリシー上アプリからの常用に向きません。本番では自前配信か商用の配信元を使ってください。
動作確認
ここまで動けば完了
東京を中心に地図を出します。タイルが読み込まれれば完了です。
import SwiftUI
import MapConductorCore
import MapConductorForOpenMobileMaps
struct TestOpenMobileMaps: View {
@StateObject private var state = OpenMobileMapsViewState(
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 11
)
)
var body: some View {
OpenMobileMapsMapView(state: state)
}
}地図デザイン
Notes
OpenStreetMap
OpenStreetMap の標準スタイル
OpenStreetMapJapan
日本向けの表記に寄せたもの
OpenTopoMap
地形図
うまくいかないとき
地図が真っ白で、タイルが 1 枚も来ない
- このプロバイダに API キーはありません。まず指定しているスタイル URL に到達できるか確認します。
- 端末がネットワークに出られるか確認します。
タイル配信元から 429 や 403 が返る
- OpenStreetMap の公式タイルサーバーには利用ポリシーがあり、アプリからの常用は想定されていません。本番では自前のタイル配信か、商用の配信元を使ってください。
次に
マーカー・ポリライン・ポリゴン・円・グラウンドイメージ・ラスターレイヤー・InfoBubble は共通 API のまま使えます。