在传单地图中使用 GeoJSON 每个标记的多个类别选项

Multiple Category Options per Marker Using GeoJSON in Leaflet Map

我是 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']
 }
]

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

例如,您可以有一些复选框供用户筛选类别。每次用户 checks/unchecks,一个循环遍历数组并仅将符合条件的对象作为标记插入。

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

代码有点乱,但我想告诉你的是,可以有不同的方法,而不仅仅是一个方向。您可以使用更简洁的代码实现相同的结果,GeoJSON 而不是 JSON 等...

希望我有所帮助。