【发布时间】:2022-08-18 23:26:21
【问题描述】:
我想在包flutter_map 中以暗模式显示OpenStreetMaps。我读到您可以使用tileBuilder 或tilesContainerBuilder 创建一个ColorFiltered,然后在暗模式下显示地图。
当我使用 OpenStreetMaps 和具有适当矩阵的 tileBuilder 创建代码时,我得到一张空白地图,没有浅色版本和深色版本,只有白色图像。
此外,预配置的 darkModeTileBuilder 不起作用并返回相同的结果。
所以我的 TileLayerOptions-Code 看起来像这样:
TileLayerOptions(
urlTemplate: \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",
subdomains: [\'a\', \'b\', \'c\'],
minNativeZoom: 6,
maxNativeZoom: 11,
tileBuilder: (BuildContext context, Widget tileWidget, Tile tile) {
return ColorFiltered(
colorFilter: const ColorFilter.matrix(<double>[
-1, 0, 0, 0, 255,
0, -1, 0, 0, 255,
0, 0, -1, 0, 255,
0, 0, 0, 1, 0,
]),
child: tileWidget);
},
)
其他尝试使用原生的 tilesContainerBuilder:
return FlutterMap(
mapController: mapController,
options: MapOptions(
center: position,
maxZoom: 11,
minZoom: 6,
zoom: zoom,
bounds: LatLngBounds(LatLng(50.24616767738274, 5.649625401773421), LatLng(52.54351073098019, 9.344119584825355)),
),
layers: [
TileLayerOptions(
minNativeZoom: 6,
maxNativeZoom: 11,
urlTemplate: \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",
subdomains: [\'a\', \'b\', \'c\'],
tilesContainerBuilder: darkModeTilesContainerBuilder,
),
],
);
那么:如何在 flutter_map 中以暗模式显示 Open Street Maps?
标签: flutter dart fluttermap