openlayers 使用Overlay添加popup图层在地图上不显示

今天想在openlayers地图上添加popup弹出层显示信息,从官网案例中复制过来的代码,点击居然没反应,但是html元素上已经加载上,但就是页面上没有,所以我扒拉扒拉元素,原来是给display:none隐藏了,吐血。。。

我的解决办法是
 

var container = document.getElementById('popup');
var content = document.getElementById('popup-content');
var closer = document.getElementById('popup-closer');

var overlay = new Overlay({
   element: container
});

leftMap.addOverlay(overlay)

closer.onclick = function () {
   overlay.setPosition(undefined);
   closer.blur();
   return false;
};

leftMap.on('singleclick', function (evt) {

   // === 解决办法 ===
   overlay.getElement().parentNode.style.display = 'block'
   overlay.getElement().parentNode.parentNode.style.display = 'block'
   // ================

   var coordinate = evt.coordinate;
   var hdms = toStringHDMS(toLonLat(coordinate));

   content.innerHTML = '<p>You clicked here:</p><code>' + hdms + '</code>';
   overlay.setPosition(coordinate);
});

最终效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值