ドキュメント / セットアップ / Android / Open Mobile Maps
Open Mobile Maps セットアップ
Open Mobile Maps(io.openmobilemaps:mapscore)を MapConductor から使う手順です。API キーは要りません。
MODULE
com.mapconductor:for-openmobilemaps
API KEY
不要
VIEW
OpenMobileMapsMapView
TIME
10 分
ほかのプラットフォームiOS
前提
Android 開発環境(Android Studio)
minSdk 28 以上
STEP 01
依存関係を追加する
Open Mobile Maps は Maven Central にあります。取得先を足す必要はありません。
app/build.gradle.ktsKotlin
dependencies {
// Open Mobile Maps
implementation("io.openmobilemaps:mapscore:4.0.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:compose")
implementation("com.mapconductor:for-openmobilemaps")
}STEP 02
パーミッションを足す
タイルの取得にネットワークが要ります。位置情報を使わないなら INTERNET だけで足ります。
AndroidManifest.xmlXML
<uses-permission android:name="android.permission.INTERNET" />
STEP 03
タイルの配信元を決める
キーが無いぶん、タイルをどこから取るかは自分で決めることになります。OpenStreetMap の公式タイルサーバーは利用ポリシー上アプリからの常用に向きません。本番では自前配信か商用の配信元を使ってください。
動作確認
ここまで動けば完了
東京を中心に地図を出します。タイルが読み込まれれば完了です。
@Composable
fun TestOpenMobileMaps(modifier: Modifier = Modifier) {
val mapState = rememberOpenMobileMapsMapViewState(
mapDesign = OpenMobileMapsDesign.OpenStreetMap,
cameraPosition = MapCameraPosition(
position = GeoPoint(latitude = 35.6812, longitude = 139.7671),
zoom = 11.0,
),
)
OpenMobileMapsMapView(state = mapState, modifier = modifier.fillMaxSize())
}地図デザイン
Notes
OpenStreetMap
OpenStreetMap の標準スタイル
OpenStreetMapJapan
日本向けの表記に寄せたもの
OpenTopoMap
地形図
うまくいかないとき
地図が真っ白で、タイルが 1 枚も来ない
- このプロバイダに API キーはありません。まず指定しているスタイル URL に到達できるか確認します。
- 端末がネットワークに出られるか確認します。
タイル配信元から 429 や 403 が返る
- OpenStreetMap の公式タイルサーバーには利用ポリシーがあり、アプリからの常用は想定されていません。本番では自前のタイル配信か、商用の配信元を使ってください。
次に
マーカー・ポリライン・ポリゴン・円・グラウンドイメージ・ラスターレイヤー・InfoBubble は共通 API のまま使えます。プロバイダを差し替えてもアプリ側のコードは変わりません。