gpt4 book ai didi

javascript - Leaflet JS - 将 esri 形状更改为特定缩放级别的标记

转载 作者:行者123 更新时间:2023-12-03 05:42:48 27 4
gpt4 key购买 nike

我正在使用leaflet.shapefile插件 Leaflet JS ,我正在尝试根据特定的缩放级别将 esri 形状/多边形更改为普通标记图标

该插件允许我将 zip 文件上传到我们的网络服务器上,然后由插件处理该文件并作为层添加到 Leaflet JS 中

var properties = new L.Shapefile('data/Test.zip', { style: propertyStyle, onEachFeature: propertyOnEachFeature })

我想要实现的目标:当用户放大多边形形状时可见,但是当用户放大到缩放级别 10 以上时,它应该显示一个标记,因为 esri 形状/多边形非常小并且几乎不可见.

放大和缩小部分很容易完成:

map.on('zoomend', function() {
if (map.getZoom() <10){
if (map.hasLayer(properties)) {
map.removeLayer(properties);
} else {
console.log("no property layer active");
}
}
if (map.getZoom() >= 10){
if (map.hasLayer(properties)){
console.log("property layer already added");
} else {
map.addLayer(properties);
}
}
}

但是我不知道如何将 L.ShapeFile 更改为 L.Marker 或正确的方法是什么。
感谢您的帮助和建议。

更新

“IvanSanchez”为我提供的答案正是我正在寻找的。有了这个简单的插件'Leaflet.Deflate ' 我能够简单地将任何形状、多边形、圆形或直线转换为标记,所需要做的就是包含插件 js 和一个衬垫:

L.Deflate({minSize: 20}).addTo(map);

最佳答案

关于javascript - Leaflet JS - 将 esri 形状更改为特定缩放级别的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40463746/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com