单击矢量图层要素时,我正在尝试弹出窗口。
这与地图相同.cshtml页面......
<div id="popup" title="Welcome to ol3">
</div>
然后在一个单独的.js文件中,我正在加载地图,我创建了弹出窗口 添加它......
var popup = new ol.Overlay({
element: document.getElementById('popup')
});
map.addOverlay(popup);
然后在map.on('click')...
var element = popup.getElement();
var coordinate = evt.coordinate;
$(element).popover('destroy');
popup.setPosition(coordinate);
// the keys are quoted to prevent renaming in ADVANCED mode.
$(element).popover({
'placement': 'top',
'animation': false,
'html': true,
'content': '<p>Something happened...good for you</code>'
});
$(element).popover('show');
但是document.getElementById(“popup”)返回“null”
非常感谢任何帮助!!
答案 0 :(得分:0)
感谢@Neelesh的回复,这似乎是OL3代码更改并运行到过时示例的情况,这种情况经常发生,因为库变化很大。使用你在小提琴中提供的例子,我改变了......
var element = popup.getElement();
var coordinate = evt.coordinate;
angular.element(element).popover('destroy');
popup.setPosition(coordinate);
// the keys are quoted to prevent renaming in ADVANCED mode.
$(element).popover({
'placement': 'top',
'animation': false,
'html': true,
'content': '<p>Something happened...good for you</code>'
});
$(element).popover('show');
要...
var coordinate = evt.coordinate;
document.getElementById('popup-content').innerHTML = '<p>It is working</p>';
popup.setPosition(coordinate);
...这有助于显示弹出窗口,现在我只需要弄清楚如何确定我点击了哪个矢量图层要素:)