我想平铺一张大图像并在带有 flutter_map 包的 Flutter 应用程序中查看它。即,使用 flutter_map 包作为可缩放的平铺图像的大型位图查看器。
在网络上,我可以使用 Leaflet 实现这一点,并相信这是一个很常见的用例?
在 Leaflet 中,我可以按如下方式平铺图像并创建地图。假设图像大小为 7680x4320,缩放级别为 0 (512x512) 到级别 4(全图像分辨率)。
var mapExtent = [0.00000000, -4320.00000000, 7680.00000000, 0.00000000];
var mapMinZoom = 0;
var mapMaxZoom = 4;
var mapMaxResolution = 1.00000000;
var mapMinResolution = Math.pow(2, mapMaxZoom) * mapMaxResolution;
var tileExtent = [0.00000000, -4320.00000000, 7680.00000000, 0.00000000];
var crs = L.CRS.Simple;
crs.transformation = new L.Transformation(1, -tileExtent[0], -1, tileExtent[3]);
crs.scale = function(zoom) {
return Math.pow(2, zoom) / mapMinResolution;
};
crs.zoom = function(scale) {
return Math.log(scale * mapMinResolution) / Math.LN2;
};
var layer;
var map = new L.Map('map', {
maxZoom: mapMaxZoom,
minZoom: mapMinZoom,
crs: crs
});
layer = L.tileLayer('{z}/{x}/{y}.png', {
minZoom: mapMinZoom, maxZoom: mapMaxZoom,
tileSize: L.point(512, 512),
noWrap: true,
tms: false
}).addTo(map);
map.fitBounds([
crs.unproject(L.point(mapExtent[2], mapExtent[3])),
crs.unproject(L.point(mapExtent[0], mapExtent[1]))
]);
有没有办法或例子使用flutter_map和CrsSimple在Dart中实现同样的事情?
谢谢,