Я хочу показать маркеры на карте, где каждый маркер - это 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]
}
}
Когда я сгруппирую их, щелкнув сгруппированный кружок, я хочу увидеть Даниэле, Роберто. Как я могу это сделать?
Кроме того, я хотел бы установить размер круга в соответствии с различным количеством разных пользователей, сгруппированных (в приведенном выше примере должно быть 2).
** ОБНОВЛЕНИЕ 2
JSFIDDLE ‹-
Идея могла бы состоять в том, чтобы построить массив различных имен, а затем использовать выражение length
для определения размера круга.
В любом случае должна быть какая-то синтаксическая ошибка ...
clusterProperties: {
distinctNames :
['case',
/*cond */ ["!", ['in',['get', 'user_id'], ['accumulated']]],
/*result*/ ['concat', ['concat', ['get', 'user_id'], ',']],
/*default*/ ['accumulated']
]
}