如何更改 OSM 地图自定义主题?

How to change OSM map custom theme?

我用的是osm贴图,我想换贴图样式

如何在开放街道地图中更改 android 地图的主题颜色和样式 - 我想为特定目的完全简化地图并删除特定元素的颜色。

binding!!.mapView.apply {

             
                            setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE)
                            zoomController.setVisibility(CustomZoomButtonsController.Visibility.NEVER)
                            setMultiTouchControls(true)
                            val mapController: IMapController = controller
                            mapController.setZoom(12.0)

                            val zoomLocation =  GeoPoint(it.from_lat.toDouble(), it.from_lng.toDouble())

                            mapController.setCenter(zoomLocation)
                            startMarker.position = zoomLocation // marker location

                      

                }

looking android theme like this screenshot (movie app). ** I am looking free solution**

您可以使用 MapBox 瓦片源,使用您自己自定义的 MapBox 样式。

试试这个解决方案:会减少一些加载时间

binding.osmView.apply {


          
      val matrixA = ColorMatrix()
            matrixA.setSaturation(0.3f)
            val matrixB = ColorMatrix()
            matrixB.setScale(1.12f, 1.13f, 1.13f, 1.0f)
            matrixA.setConcat(matrixB, matrixA)
            val filter = ColorMatrixColorFilter(matrixA)
            overlayManager.tilesOverlay.setColorFilter(filter) // TilesOverlay.INVERT_COLORS
}

这可行

binding.osmView.apply {

  val matrixA = ColorMatrix()
        matrixA.setSaturation(0.3f)
        val matrixB = ColorMatrix()
        matrixB.setScale(1.12f, 1.13f, 1.13f, 1.0f)
        matrixA.setConcat(matrixB, matrixA)
        val filter = ColorMatrixColorFilter(matrixA)
        overlayManager.tilesOverlay.setColorFilter(filter) // TilesOverlay.INVERT_COLORS

}