#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 свободен до определенного уровня использования.