Twitter bootstrap 3 如何在openlayers中使用带有链接的popover

Twitter bootstrap 3 如何在openlayers中使用带有链接的popover,twitter-bootstrap-3,openlayers,Twitter Bootstrap 3,Openlayers,我想显示带有标记的地图。当我点击一个标记时,我想显示一个弹出窗口。在弹出窗口中还应该有一个指向外部网站的链接 到目前为止,这一切都很好。 但是,当我点击第一个标记(->弹出窗口被显示)并直接点击第二个标记时,弹出窗口仅在第二个标记上短暂显示,然后消失 我认为这与popover的“动画”设置有关。但是当我设置“animation:false”时,我就不能再使用这些链接了(我可以点击它们,但它们不会打开请求的网站) 下面是我的代码: 弹出窗口 var place_0=新的ol.特征({ 几何:新的

我想显示带有标记的地图。当我点击一个标记时,我想显示一个弹出窗口。在弹出窗口中还应该有一个指向外部网站的链接
到目前为止,这一切都很好。
但是,当我点击第一个标记(->弹出窗口被显示)并直接点击第二个标记时,弹出窗口仅在第二个标记上短暂显示,然后消失
我认为这与popover的“动画”设置有关。但是当我设置“animation:false”时,我就不能再使用这些链接了(我可以点击它们,但它们不会打开请求的网站)

下面是我的代码:


弹出窗口
var place_0=新的ol.特征({
几何:新的ol.geom.Point(LONLAT([1.1,50]),ol.proj,
名称:“地名1
” }); 变量位置_1=新的ol.特征({ 几何:新的ol.geom.Point(LONLAT([1.2,50]),ol.proj, 名称:“地名2
” }); var vectorSource=新的ol.source.Vector({ 特征:[位置0,位置1] }); var vectorLayer=新ol.layer.Vector({ 来源:矢量源 }); var rasterLayer=新ol.layer.Tile({ 来源:new ol.source.OSM() }); var map=新ol.map({ 图层:[光栅图层,矢量图层], 目标:document.getElementById('map'), 视图:新ol.view({ 中心:Lonlat的其他项目([1.1,50]), 缩放:10 }) }); var元素=document.getElementById('popup'); var popup=新ol.Overlay({ 元素:元素, stopEvent:false }); map.addOverlay(弹出窗口); //单击时显示弹出窗口 映射打开('click',函数(evt){ $(元素).popover('destroy'); var feature=map.forEachFeatureAtPixel(evt.pixel, 功能(特征){ 返回特性; }); 如果(功能){ var iname=feature.get('name'); 变量坐标=feature.getGeometry().getCoordinates(); 设置位置(坐标); $(元素).popover({ "动画":对,, “html”:是, //“延迟”:1000, “内容”:iname }); $(元素).popover('show'); }否则{ $(元素).popover('destroy'); } });
问题是
单击
事件将叠加和映射一起工作。事件通过Openlayers通过地图上的每个元素。您可以使用
Overlay
上的
stopEvent
选项来防止这种情况


啊,好的,这管用!(当我还设置“动画:false”时)。谢谢@阿比德:我的浏览器(firefox+chromium)不能使用小提琴。
var popup = new ol.Overlay({
  element: element,
  stopEvent: true
});