我是Leaflet和GeoJSON的新手,却找不到我想要的示例。我正在制作的地图为该地区的各种服务提供了多个标记。我需要添加一个人口统计类别,以按青年,成人,老年人,男性,女性等进行过滤。某些标记需要能够具有多个人口统计特征(例如成人和男性)。我能找到的最接近的示例是为每种人口统计类型添加一个属性,并为每个标记提供true / false选项。这是我应该采取的方式吗?他们可能会在将来添加其他类别(人口统计除外),如果将每个选项都设置为属性,则这些类别实际上不会组织。请帮我指出正确的方向!

最佳答案

首先,您应该决定如何构造数据,这首先与Leaflet(稍后将其用于可视化映射)无关。

您可以使用GeoJSON或简单的JSON。

例如:

myJSON=[
 {
   lat:10,
   lon:10,
   demographic:['youth']
 },
 {
   lat:6,
   lon:10,
   demographic:['adults','men']
 },
 {
   lat:10,
   lon:12,
   demographic:['adults']
 },
 {
   lat:7,
   lon:8,
   demographic:['adults','seniors','women']
 }
]


然后,您只需要考虑要转换为代码的逻辑。

例如,您可以为用户提供一些复选框以过滤类别。每次用户检查/取消检查时,循环都会遍历数组,并且仅将符合条件的对象作为标记插入。

这是一个例子:
https://jsfiddle.net/xf4fwwme/44/

代码有点混乱,但是我想向您展示的是可以有不同的方法,而不仅仅是一个方向。您可以使用更干净的代码,GeoJSON而不是JSON等来实现相同的结果...

希望我能帮上忙。

关于javascript - 在传单 map 中使用GeoJSON为每个标记提供多个类别选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49941153/

10-12 17:10
查看更多