Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 阻止Google地图信息窗口关闭_Google Maps_Google Maps Api 3_Infowindow - Fatal编程技术网

Google maps 阻止Google地图信息窗口关闭

Google maps 阻止Google地图信息窗口关闭,google-maps,google-maps-api-3,infowindow,Google Maps,Google Maps Api 3,Infowindow,如果信息窗口关闭时满足某些条件,我希望防止触发默认的关闭事件。有可能做到这一点吗?我尝试了很多方法,比如: 停止事件传播 从回调方法返回false infoWindow也没有公开任何阻止关闭的方法/属性 如果可能的话,请告诉我。信息窗口并没有提供一种方法来阻止事件传播。我不知道它是否对你有用,但是有一个能给你更多的控制它的行为的方法。针对您的问题,InfoBoxOptions对象包含以下属性: 启用事件传播,一个布尔值,允许您控制信息框是否将:在信息框中传播鼠标向下、单击、dblclick和上下

如果信息窗口关闭时满足某些条件,我希望防止触发默认的关闭事件。有可能做到这一点吗?我尝试了很多方法,比如:

  • 停止事件传播
  • 从回调方法返回false
  • infoWindow也没有公开任何阻止关闭的方法/属性

  • 如果可能的话,请告诉我。

    信息窗口并没有提供一种方法来阻止事件传播。我不知道它是否对你有用,但是有一个能给你更多的控制它的行为的方法。针对您的问题,
    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”没有定义