首页 > 解决方案 > 如何在 Leaflet 中设置边界?

问题描述

所以我得到了一个 2000x2000 的图像作为 CRS 地图,我需要适合 -600000 +600000 坐标,但是图像变得如此缩放,我显然做得不对,我猜程序不知道如何组合和计算它自己将单位适合像素,或者它是否有设置?

我想它仍然使图像的每个像素大约 600 个单位大,但我想这对于我想要做的事情来说已经足够准确了。

坐标本身似乎在工作,因为图像的中心正好在现场。

    var mapOptions = {
            center: [11999, 9199],
            minZoom: 0,
            maxZoom: 0
         }
        
         
         // Creating a map object
        var map = L.map('bigmapleaf', {
            crs: L.CRS.Simple
        }, mapOptions);
        var bounds = [[600000,-600000], [-600000,600000]];
        var image = L.imageOverlay('../pictures/map.png', bounds).addTo(map);
         // Adding layer to the map
        map.fitBounds(bounds);
map.setView( center, 1);

编辑:

现在我已经设法找到使地图大小合适的数学运算,而无需任何高精度缩放,但我需要使地图响应那些我认为需要再次转换回原始单位的大型单位感觉不对。我希望我可以使用大型单位并让传单完成所有地图视图转换。也许我尝试制作一个脚本,用他们自己的单位讨论这两种方式。

如果有人知道我的麻烦的简单答案,还在等待。

除了更容易使用大型单位之外,我还可以制作绝对准确的地图。

标签: leaflet

解决方案


推荐阅读