【发布时间】:2021-03-09 23:45:13
【问题描述】:
我想在地图上显示标记,其中每个标记都是UserLocation。一个User 可以有多个UserLocation。
当我对标记进行聚类时,我想显示这些聚类标记的用户列表,没有重复。
例如,让我们以这 3 个附近的标记为例:
{ // Marker1
type: 'Feature',
properties: {user_id : "Daniele"},
geometry: { type : 'Point',
coordinates : [lng0, lat0]
}
},
{// Marker2
type: 'Feature',
properties: {user_id : "Daniele"},
geometry: { type : 'Point',
coordinates : [lng1, lat1]
}
},
{// Marker3
type: 'Feature',
properties: {user_id : "Roberto"},
geometry: { type : 'Point',
coordinates : [lng2, lat2]
}
}
当我聚集它们时,单击聚集的圆圈,我想看到“Daniele,Roberto”。 我该怎么做?
另外,我想设置圆的大小,根据不同用户聚集的不同数量(在上面的例子中,应该是2)。
**更新 2
一个想法可以是构建一个不同名称的数组,然后使用length 表达式来调整圆的大小。
反正应该有一种语法错误……
clusterProperties: {
distinctNames :
['case',
/*cond */ ["!", ['in',['get', 'user_id'], ['accumulated']]],
/*result*/ ['concat', ['concat', ['get', 'user_id'], ',']],
/*default*/ ['accumulated']
]
}
【问题讨论】:
标签: mapbox mapbox-gl-js mapbox-marker