计算传单中图层中的标记并将其添加到 div
我有一个带有标记和过滤器(复选框)的传单地图,我想在过滤器更改时计算标记的数量。
我添加了在这里找到的代码 获取计数leaflet 中图层中的标记:
var counter = 0;
function onEachFeature(feature, layer) {
counter++;
console.log(counter)
}
L.geoJson(geojsonFeature, {
onEachFeature: onEachFeature
}).addTo(map);
代码运行良好,但返回 NaN 属性。我想知道是否有办法达到计数器结果,因为我想将其插入到我的传单地图的 div 中?
非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
第一个问题是,您有 geojson 功能/geojson 组还是只有标记?
如果您有 GeoJSON 组:
最简单的方法是获取 geojson 组的所有子图层,即标记计数:
如果地图上只有标记(不在组中):
您可以循环遍历 GeoJSON 组的所有图层地图并检查地图上是否存在该图层:
将数据显示为 Control
您可以在每次图层更改后调用
control.setCount(counter)
演示:https://plnkr.co/edit/dyQKVQFDm5sBHzUK
The first question is, do you have a geojson feature / geojson group or only markers?
If you have a GeoJSON group:
The simplest way would be to get all child layers of the geojson group, which is the marker count:
If you have only markers on the map (not in a group):
You can loop through all layers of the map and check if the layer is existing on the map:
Displaying the data as Control
You can call after each layer change
control.setCount(counter)
Demo: https://plnkr.co/edit/dyQKVQFDm5sBHzUK
我试过这个。它确实给了我正确的数字,但我仍在修补如何将其放入 L.control
您可以在此页面上实时看到:https://elcuentoderoma.com/rome/
免责声明:我隶属于该网站。
I tried this. It does give me the correct number, but I am still tinkering with how to put it inside the L.control
You can see this live on this page: https://elcuentoderoma.com/rome/
Disclaimer: I am affiliated with this site.