Google maps 阻止Google地图信息窗口关闭
如果信息窗口关闭时满足某些条件,我希望防止触发默认的关闭事件。有可能做到这一点吗?我尝试了很多方法,比如:Google maps 阻止Google地图信息窗口关闭,google-maps,google-maps-api-3,infowindow,Google Maps,Google Maps Api 3,Infowindow,如果信息窗口关闭时满足某些条件,我希望防止触发默认的关闭事件。有可能做到这一点吗?我尝试了很多方法,比如: 停止事件传播 从回调方法返回false infoWindow也没有公开任何阻止关闭的方法/属性 如果可能的话,请告诉我。信息窗口并没有提供一种方法来阻止事件传播。我不知道它是否对你有用,但是有一个能给你更多的控制它的行为的方法。针对您的问题,InfoBoxOptions对象包含以下属性: 启用事件传播,一个布尔值,允许您控制信息框是否将:在信息框中传播鼠标向下、单击、dblclick和上下
如果可能的话,请告诉我。信息窗口并没有提供一种方法来阻止事件传播。我不知道它是否对你有用,但是有一个能给你更多的控制它的行为的方法。针对您的问题,
InfoBoxOptions
对象包含以下属性:
启用事件传播
,一个布尔值,允许您控制信息框
是否将:在信息框中传播鼠标向下、单击、dblclick和上下文菜单事件(默认值为false以模拟google.maps.InfoWindow
)。如果信息框用作地图标签,请将此属性设置为trueiPhone注意:此属性设置无效;事件总是被传播的。你唯一能做的就是捕捉到关闭单击
事件,它会让你一事无成
我曾经为了一个一次性的解决方案而将一些东西拼凑在一起,可能对你有用,也可能对你无效:我已经找到了一种方法,可以到达用户点击关闭的x标记,并将其删除。用户无法关闭信息窗口。完全通过调用.close(),您仍然可以
警告!这是一次黑客攻击
var a=document.getElementById('map_canvas');
var b=a.getElementsByTagName('img');
var i, j=b.length;
for (i=0; i<j; i++) {
if(b[i].src.match('imgs8.png')){
if(b[i].style.left=='-18px') {
c=b[i].parentElement.parentElement;
console.log(c);
if(c.innerText.match("Map data")) {
console.log('no');
} else {
b[i].parentElement.removeChild(b[i]);
}
}
}
}
var a=document.getElementById('map_canvas');
var b=a.getElementsByTagName('img');
var i,j=b.长度;
对于(i=0;i您可以始终侦听close事件,然后抛出javascript错误以阻止其关闭。例如:
google.maps.event.addListener(my_infoWindow, 'closeclick', function(e){
// Throw an error to stop the close
throw "stop close";
})
不幸的是,“e”没有定义