0
标记我使用leaflet.shapefile插件与Leaflet JS,我试图改变ESRI形状/多边形为依赖一定的缩放级别正常标记图标单张JS - 改变ESRI形状为某些缩放级别
该插件可以让我一个zip文件上传到我们的Web服务器,然后由插件处理并添加作为层到单张JS
var properties = new L.Shapefile('data/Test.zip', { style: propertyStyle, onEachFeature: propertyOnEachFeature })
我想什么来实现:当在多边形缩放用户可见,但是当用户放大zoomlevel 10以上时,它应该显示一个标记,而不是像esri一样hape /多边形非常小,几乎不可见。
的放大和缩小的部分很容易用做:
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或什么是正确的做法是。
感谢您的帮助和建议。
UPDATE
答案 'IvanSanchez' 为我提供这正是我一直在寻找。 有了这个简单的插件“Leaflet.Deflate”我能简单地转换成任何形状,多边形,圆形或线的标志物和所有它采取了包括插件的JS和一个衬垫:
L.Deflate({minSize: 20}).addTo(map);
感谢IvanSanchez,这正是我正在寻找的东西,像魅力一样工作。 – user6450463
HI伊万,你能看看我的问题上面的问题,我的问题在这里:http://stackoverflow.com/questions/40489828/leaflet-js-leaflet-deflate-changing-default-标记图标到自定义图标,在此先感谢 – user6450463