Android SDK 1.3.1 ── Maven Central に 18 アーティファクト、Jetpack Compose 対応

BOM を含む 18 アーティファクトを Maven Central に公開しました。1.3.0 に POM の不具合があるため 1.3.1 をお使いください。minSdk は 28 になりました。

MapConductor Android SDK 1.3.1 を Maven Central に公開しました。18 個のアーティファクトすべてが同じ版で、BOM も含まれます。

使い方

BOM を入れれば、各モジュールの版を書く必要はありません。

kotlin
dependencies {
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
    implementation("com.mapconductor:core")
    implementation("com.mapconductor:compose")
    implementation("com.mapconductor:for-maplibre")
}

BOM を使わない場合も 1.3.1 で揃えてください。 1.3.0 には後述の不具合があります。

公開したもの

アーティファクト内容地図 SDKリポジトリ
com.mapconductor:mapconductor-bomBOM。全モジュールの版を揃えるmapconductor-bom
com.mapconductor:coreプロバイダ非依存のコアandroid-sdk-core
com.mapconductor:composeJetpack Compose 連携android-sdk-compose
com.mapconductor:iconsアイコンandroid-icons
com.mapconductor:heatmapヒートマップandroid-heatmap
com.mapconductor:marker-clusteringマーカークラスタリングandroid-marker-clustering
com.mapconductor:geojsonGeoJSON レイヤーandroid-geojson-layer
com.mapconductor:kmlKML レイヤーandroid-kml
com.mapconductor:for-googlemapsGoogle Mapsplay-services-maps 20.0.0android-for-googlemaps
com.mapconductor:for-maplibreMapLibremaplibre 13.4.1android-for-maplibre
com.mapconductor:for-mapboxMapboxmapbox 11.28.0android-for-mapbox
com.mapconductor:for-hereHERE.aar 4.27.2.0.309975android-for-here
com.mapconductor:for-arcgisArcGISarcgis-maps-kotlin 300.1.0android-for-arcgis
com.mapconductor:for-maptilerMapTilermaptiler 2.1.0android-for-maptiler
com.mapconductor:for-tomtomTomTomtomtom 2.4.2android-for-tomtom
com.mapconductor:for-longdoLongdolongdo 1.3.0android-for-longdo
com.mapconductor:for-mapplsMapplsmappls 9.0.3android-for-mappls
com.mapconductor:for-openmobilemapsOpen Mobile Mapsomm 4.0.0android-for-openmobilemaps

アーティファクト名とリポジトリ名が一致しないものがあります。corecompose のリポジトリは android-sdk-*geojson のリポジトリは android-geojson-layer のままです(Maven の座標は geojson で確定しており、公開済みの座標は変えられないため)。

Jetpack Compose

com.mapconductor:compose が Compose 連携です。地図は MapView コンポーザブルとして置き、状態は state オブジェクトが持ちます。プロバイダを差し替えても、この呼び出し方は変わりません。

Compose まわりで 1.3.1 が必要な理由がもう 1 つあります。Compose BOM は公開された POM には載りません。 BOM は依存の版を解決するための仕組みで、解決結果が POM に焼き付くわけではないためです。1.3.0 ではこれを見落とし、Compose への依存が版の無いまま POM に出ていました。

1.3.0 ではなく 1.3.1 を使ってください

1.3.0 の公開時、Compose への依存が版を持たない POM が生成されていました。Maven Central はこれを弾くので for-arcgis / for-here / for-tomtom は公開自体が失敗しましたが、for-googlemaps / for-maplibre / for-mapbox壊れたまま通ってしまいました。取り込んだ側で Compose の依存が解決できません。

Maven Central は一度公開した座標を差し替えられないので、修正版を 1.3.1 として出し直しています。1.3.0 は使わないでください。

動作環境

minSdk28
compileSdk37
targetSdk35
Java17
Kotlin2.4.10

minSdk が 26 から 28 に上がりました。 ArcGIS Maps SDK 300 系の要求で、compileSdk 37 も同じ理由です。ArcGIS を使わない構成でも、モジュールが揃っている方が扱いやすいので全体を合わせています。

各モジュールは github.com/MapConductor にリポジトリごとに分かれています。