2016-11-07 69 views
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); 

回答

1
+0

感谢IvanSanchez,这正是我正在寻找的东西,像魅力一样工作。 – user6450463

+0

HI伊万,你能看看我的问题上面的问题,我的问题在这里:http://stackoverflow.com/questions/40489828/leaflet-js-leaflet-deflate-changing-default-标记图标到自定义图标,在此先感谢 – user6450463