Search code examples
androidopenstreetmaposmdroid

How to change OSM map custom theme?


I am using an osm map, I want to change the map style

How to change the theme colors and styles of the android maps in the open street map- I would like to totally simplify a map for a particular purpose and remove colors of particular elements.

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

                      

                }

enter image description here

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

enter image description here


Solution

  • Try this solution: will reduce some loading time

    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
    }