2015-05-04 63 views
0

我有一个featureGroup自定义(扩展)的圆形标记(自定义选项)。 (数据库结果,标记添加到featureGroup - 没有Geojson!)过滤器标记在传单featureGroup

是否有可能基于其中一个自定义选项(一个简单的数值)添加过滤器(动态)?

我想将它与滑块关联。

我为此努力奋斗了好几天: - ((

回答

0

,你可以通过与eachLayer(function (layer)每个滑块改变featureGroup,即使用layer.setOpacity(0)layer.setOpacity(1)取决于标记是否应显示或隐藏...的循环当然,这种方法不会大量标记的工作这么好,你可能需要切换到画布模式,这种方法(使用L_PREFER_CANVAS = true

此外,还有关于这个在Github的问题板的持续讨论。https://github.com/Leaflet/Leaflet/issues/4

+0

非常感谢。我会试一试。 –

+0

仍在绞尽脑汁:这是我迄今为止的代码; \t \t \t \t'map.eachLayer(功能(层){ \t \t \t \t \t VAR OBJ = layer.options; \t \t \t \t \t在OBJ(VAR丙){ \t \t \t \t \t \t如果( obj.hasOwnProperty(prop)){ \t \t \t \t \t \t \t if( OBJ [丙]> = myvalue的){ \t \t \t \t \t \t \t \t //找到myvalue的! \t \t \t \t \t \t \t \t layer.setOpacity(1); \t \t \t \t \t \t \t}否则{ \t \t \t \t \t \t \t \t layer.setOpacity(0); \t \t \t \t \t \t \t} \t \t \t \t \t \t} \t \t \t \t \t} \t \t \t \t}); '但是得到一个错误:** Uncaught TypeError:layer.setOpacity不是函数**。如果你能为我提供一个简单的例子,我将非常感激。 –

+0

你可以尝试使用'myFeatureGroup.eachLayer'而不是'map.eachLayer'吗? – snkashis