ドキュメント / セットアップ / Android / ArcGIS
ArcGIS セットアップ
ArcGIS Maps SDK for Kotlin を MapConductor から使う手順です。Esri のリポジトリを追加し、API キーをマニフェスト経由で渡します。2D と 3D の両方のビューが使えます。
MODULE
com.mapconductor:for-arcgis
API KEY
必要
VIEW
ArcGISMapView / 2D
TIME
20 分
前提
Android 開発環境(Android Studio)
ArcGIS 開発者アカウント
ArcGIS の API キー
STEP 01
API キーを取得する
- ArcGIS Developer アカウントを作成します。
- ArcGIS Developer Dashboard を開きます。
- アプリケーションを作成し、必要なスコープで API キーを発行します。
STEP 02
Esri のリポジトリを足す
settings.gradle.ktsKotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Esri public repository for ArcGIS Maps SDK
maven {
url = uri("https://esri.jfrog.io/artifactory/arcgis")
}
}
}STEP 03
Secrets Gradle Plugin を入れる
キーをソース管理に置かないための仕組みです。プラグインが secrets.properties を読み、ビルド時に AndroidManifest.xml のプレースホルダーへ値を差し込みます。
(root)/build.gradle.ktsKotlin
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}STEP 04
依存関係を追加する
ArcGIS 側も BOM を使います。Compose 用の toolkit も必要です。
app/build.gradle.ktsKotlin
plugins {
// ... other plugins
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
dependencies {
// ArcGIS Maps SDK
implementation(platform("com.esri:arcgis-maps-kotlin-toolkit-bom:200.7.0"))
implementation("com.esri:arcgis-maps-kotlin:200.7.0")
implementation("com.esri:arcgis-maps-kotlin-toolkit-geoview-compose")
implementation("com.esri:arcgis-maps-kotlin-toolkit-authentication")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.2.0"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-arcgis")
}STEP 05
マニフェストとキーを設定する
AndroidManifest.xmlXML
<manifest>
<!-- Add internet and location permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application>
<!-- ArcGIS API Key -->
<meta-data
android:name="ARCGIS_API_KEY"
android:value="${ARCGIS_API_KEY}" />
</application>
</manifest>secrets.propertiesProperties
ARCGIS_API_KEY=your_actual_arcgis_api_key_here
注意
secrets.properties はバージョン管理にコミットしないでください。.gitignore に追加しておくと事故を防げます。CI では環境変数など別の安全な経路で渡します。
STEP 06
ライセンスを設定する(本番のみ)
基本的な地図表示だけなら不要です。本番配布では Esri のドキュメントに従ってライセンスを設定してください。
MainActivity.ktKotlin
// In your Application class or MainActivity
// ArcGISEnvironment.setLicense("your_license_key_here") // Optional for basic use動作確認
ここまで動けば完了
ArcGIS の地図が出て、ズーム・パン・(3D ビューなら)チルトが効けば完了です。
TestArcGIS.ktJetpack Compose
@Composable
fun TestArcGIS(modifier: Modifier = Modifier) {
val mapState = rememberArcGISMapViewState(
cameraPosition = MapCameraPosition(
position = GeoPoint(35.6762, 139.6503),
zoom = 12.0,
),
)
// If the map appears, the setup is correct.
// ArcGISMapView is the 3D scene view; ArcGISMapView2D shares the same state.
ArcGISMapView(modifier = modifier, state = mapState)
}地図デザイン
ArcGISDesign は Esri のベースマップに対応します。ここに挙げたのは一部で、実際にはさらに多くの定数があります。
ArcGISDesign
Notes
Streets
標準の道路地図
Imagery
衛星画像
Topographic
地形図
OsmStandard
OpenStreetMap 標準スタイル
NavigationNight
夜間ナビゲーション
DarkGray / LightGray
データを載せる下地向けの淡いスタイル
うまくいかないとき
地図が読み込まれない
- secrets.properties の API キーが正しいか確認します。
- Dashboard でキーに必要なスコープが付いているか確認します。
ライセンスエラーが出る
- 本番配布では Esri のドキュメントに沿ってライセンスを設定してください。
ビルドが通らない
- 地図 SDK の座標とバージョンがバージョンカタログの指定と一致しているか確認します。
- リポジトリ定義が settings.gradle.kts にあるか確認します(repositoriesMode が FAIL_ON_PROJECT_REPOS だと、モジュール側の repositories は無視されます)。
- 複数の地図 SDK を同時に入れている場合は、依存の衝突がないか ./gradlew :app:dependencies で確認します。
次に
ArcGISMapView は 3D、ArcGISMapView2D は 2D です。どちらも同じ状態オブジェクトを共有するので、実行時に切り替えられます。