Как изменить пользовательскую тему карты OSM?

#android #openstreetmap #osmdroid

Вопрос:

Я использую карту 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

                      

                }
 

введите описание изображения здесь

выглядящая тема для Android похожа на этот скриншот (приложение для фильмов).
** Я ищу бесплатное решение**

введите описание изображения здесь

Ответ №1:

Попробуйте это решение: сократит время загрузки

 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
}
 

Ответ №2:

Это может сработать

привязка.osmView.применить {

   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
 

}

Ответ №3:

Вы можете использовать источник плитки MapBox со стилем MapBox, который вы настраиваете самостоятельно.

Комментарии:

1. MapBox стоит дорого, мне нужно бесплатное решение или решение с открытым исходным кодом

2. MapBox свободен до определенного уровня использования.