我尝试使用带有一组标记和弹出窗口的openlayers3构建地图。标记和弹出窗口到目前为止可以正常工作,但是当我单击一个标记(显示弹出窗口),然后-无需再次单击地图时-在另一个标记上,它将显示一个弹出窗口,其内容与第一个相同。我已经做过研究,但是找不到有用的东西。所以这是我的弹出窗口的一部分:
//popup
var element = document.getElementById('popup');
var popup = new ol.Overlay({
element: element,
positioning: 'bottom-center',
stopEvent: false
});
map.addOverlay(popup);
// display popup on click
map.on('click', function(evt) {
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature, layer) {
return feature;
});
if (feature) {
var geometry = feature.getGeometry();
var coord = geometry.getCoordinates();
popup.setPosition(coord);
$(element).popover({
'placement': 'top',
'html': true,
'content': feature.get('information')
});
$(element).popover('show');
} else {
$(element).popover('destroy');
}
});
Run Code Online (Sandbox Code Playgroud)
希望有人能帮助我。谢谢!