我正在尝试显示带有群集标记的地图,用户可以在点击放大之前在鼠标悬停时查看群集中标记的名称。
以下是我一直在研究的例子:http://jsfiddle.net/zvLd54de/4/
意图是伦敦的onmouseover应该显示居住在伦敦的四个人的名字,而巴黎的上午应该显示居住在巴黎的三个人的名字。
到目前为止,我只管理过
的Javascript
markers.on('clustermouseover', function (a) {
var inBounds = [],
bounds = map.getBounds();
children = a.layer.getAllChildMarkers();
markers.eachLayer(function (marker) {
if (bounds.contains(marker.getLatLng())) {
inBounds.push(marker.options.title);
}
});
document.getElementById('names').innerHTML = inBounds.join('\n');
document.getElementById('children').innerHTML = children.join('\n');
});
markers.on('clustermouseout', function (a) {
document.getElementById('names').innerHTML = ('');
document.getElementById('children').innerHTML = ('');
});
我认为我在某种程度上需要调整if语句,以便它只推送集群中的名称,但是还没有找到。
如果有人知道如何做到这一点,我将不胜感激。
答案 0 :(得分:1)
经过多次尝试后,我找到了解决方案。
可以在http://jsfiddle.net/zvLd54de/5/查看更新的示例。
我希望这对其他人也有用。
markers.on('clustermouseover', function (a) {
children = a.layer.getAllChildMarkers();
var names = [];
for (i = 0; i < children.length; i++) {
names.push(children[i].options.title);
}
document.getElementById('names').innerHTML = names.join('\n');
});