我用的是传单。shapefile插件与传单JS,我试图改变esri形状/多边形成正常的标记图标取决于一定的缩放级别
这个插件允许我上传一个zip文件到我们的web服务器上,然后由插件处理并作为一个层添加到传单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.s marker或正确的方法是什么。
谢谢你的帮助和建议。
伊凡桑切斯给我的答案正是我一直在寻找的。有了这个简单的插件'传单。我能够简单地将任何形状,多边形,圆形或直线转换为标记,所需要的只是包括插件js和一行:
L.Deflate({minSize: 20}).addTo(map);
参见宣传单。缩小插件。