diff --git a/api/android-for-openmobilemaps.api b/api/android-for-openmobilemaps.api index 730f300..963de70 100644 --- a/api/android-for-openmobilemaps.api +++ b/api/android-for-openmobilemaps.api @@ -205,7 +205,7 @@ public final class com.mapconductor.openmobilemaps.OpenMobileMapsMapViewHolder i } public final class com.mapconductor.openmobilemaps.OpenMobileMapsMapViewKt { public static final com.mapconductor.openmobilemaps.OpenMobileMapsViewState rememberOpenMobileMapsMapViewState(com.mapconductor.openmobilemaps.OpenMobileMapsMapDesignTypeInterface, com.mapconductor.core.map.MapCameraPositionInterface, androidx.compose.runtime.Composer, int, int); - public static final void OpenMobileMapsMapView(com.mapconductor.openmobilemaps.OpenMobileMapsViewState, androidx.compose.ui.Modifier, com.mapconductor.core.marker.MarkerTilingOptions, com.mapconductor.core.map.CameraRestriction, kotlin.jvm.functions.Function2, ? extends java.lang.Object>, kotlin.jvm.functions.Function1, kotlin.Unit>, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function3, androidx.compose.runtime.Composer, int, int, int); + public static final void OpenMobileMapsMapView(com.mapconductor.openmobilemaps.OpenMobileMapsViewState, androidx.compose.ui.Modifier, com.mapconductor.core.marker.MarkerTilingOptions, com.mapconductor.core.map.CameraRestriction, kotlin.jvm.functions.Function2, ? extends java.lang.Object>, kotlin.jvm.functions.Function1, kotlin.Unit>, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function1, com.mapconductor.core.map.MapViewStyle, kotlin.jvm.functions.Function1, kotlin.Unit>, kotlin.jvm.functions.Function3, androidx.compose.runtime.Composer, int, int, int); public static final com.mapconductor.openmobilemaps.OpenMobileMapsMapViewController createOpenMobileMapsViewController(com.mapconductor.openmobilemaps.OpenMobileMapsMapViewHolder, java.util.ArrayList, float, com.mapconductor.core.marker.MarkerTilingOptions, com.mapconductor.core.map.MutableMapServiceRegistry); } public final class com.mapconductor.openmobilemaps.OpenMobileMapsMapViewSaver extends com.mapconductor.compose.map.BaseMapViewSaver { diff --git a/build.gradle.kts b/build.gradle.kts index 8da8acc..a9fbead 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -79,7 +79,6 @@ dependencies { testImplementation(libs.junit) } - // Set project version for NMCP plugin version = libraryVersion val libraryName = "MapConductor for Open Mobile Maps" @@ -87,9 +86,10 @@ val libraryDescription = "Open Mobile Maps implementation for MapConductor unifi // Gradle 9.6 で `by tasks.registering` は非推奨(スクリプトコンパイルエラーになる)。 // googlemaps 等の既存モジュールは古い形のままなので、再コンパイル時に同じ問題が出る。 -val javadocJar = tasks.register("javadocJar") { - archiveClassifier.set("javadoc") -} +val javadocJar = + tasks.register("javadocJar") { + archiveClassifier.set("javadoc") + } afterEvaluate { publishing { diff --git a/settings.gradle.kts b/settings.gradle.kts index 949e00a..f1aa3ad 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -42,4 +42,3 @@ dependencyResolutionManagement { } rootProject.name = "android-for-openmobilemaps" - diff --git a/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsMapView.kt b/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsMapView.kt index ff0bcd2..e347a9d 100644 --- a/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsMapView.kt +++ b/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsMapView.kt @@ -19,6 +19,7 @@ import com.mapconductor.core.map.MapCameraPosition import com.mapconductor.core.map.MapCameraPositionInterface import com.mapconductor.core.map.MapViewState import com.mapconductor.core.map.MapViewStateInterface +import com.mapconductor.core.map.MapViewStyle import com.mapconductor.core.map.MutableMapServiceRegistry import com.mapconductor.core.marker.MarkerEventControllerInterface import com.mapconductor.core.marker.MarkerManager @@ -162,6 +163,15 @@ fun OpenMobileMapsMapView( onCameraMoveStart: OnCameraMoveHandler? = null, onCameraMove: OnCameraMoveHandler? = null, onCameraMoveEnd: OnCameraMoveHandler? = null, + /** + * How the map looks, when the app states it rather than naming a design. + * + * A vector style *is* the basemap. `com.mapconductor:vectorstyle` builds + * one; what happens underneath depends on this backend and the app does + * not have to know. + */ + style: MapViewStyle? = null, + onStyleDiagnostics: ((List) -> Unit)? = null, content: (@Composable OpenMobileMapsMapViewScope.() -> Unit)? = null, ) { val context = LocalContext.current @@ -265,6 +275,8 @@ fun OpenMobileMapsMapView( true } }, + style = style, + onStyleDiagnostics = onStyleDiagnostics, content = content, ) } diff --git a/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsTiltEmulation.kt b/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsTiltEmulation.kt index a430217..fda852b 100644 --- a/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsTiltEmulation.kt +++ b/src/main/java/com/mapconductor/openmobilemaps/OpenMobileMapsTiltEmulation.kt @@ -54,7 +54,9 @@ internal object OpenMobileMapsTiltEmulation { val tiltAbsRad = Math.toRadians(tiltAbsDeg) val altitude = altitudeFor(position.zoom, position.position.latitude) val distanceForward = altitude * cos(tiltAbsRad) * tan(tiltAbsRad) * TARGET_DISTANCE_SCALE - val target = Spherical.computeOffset(position.position, distanceForward, CameraBearing.toNativeHeading(position.bearing)) + val target = + Spherical + .computeOffset(position.position, distanceForward, CameraBearing.toNativeHeading(position.bearing)) return target to zoom } @@ -72,7 +74,11 @@ internal object OpenMobileMapsTiltEmulation { val tiltAbsRad = Math.toRadians(tiltAbsDeg) val altitude = altitudeFor(originalZoom, center.latitude) val distanceBackward = altitude * cos(tiltAbsRad) * tan(tiltAbsRad) * TARGET_DISTANCE_SCALE - val originalPosition: GeoPoint = Spherical.computeOffset(center, distanceBackward, CameraBearing.toNativeHeading(bearing) + 180.0) + val originalPosition: GeoPoint = + Spherical.computeOffset( + center, distanceBackward, + CameraBearing.toNativeHeading(bearing) + 180.0, + ) return originalPosition to originalZoom }