Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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
Javascript 谷歌地图信息窗口赢得';t始终在移动模式下打开,但始终在桌面模式下打开_Javascript_Google Maps_Mobile - Fatal编程技术网

Javascript 谷歌地图信息窗口赢得';t始终在移动模式下打开,但始终在桌面模式下打开

Javascript 谷歌地图信息窗口赢得';t始终在移动模式下打开,但始终在桌面模式下打开,javascript,google-maps,mobile,Javascript,Google Maps,Mobile,我使用“body onload”来获得使用php和mysql的Google地图标记。所有标记都有使用“鼠标悬停”打开的信息窗口: google.maps.event.addListener(markerComm, 'mouseover', function () { infoWindow.setContent(markerDetails); infoWindow.open(map, markerComm); }); 在桌面模式下,鼠标悬停将始终打

我使用“body onload”来获得使用php和mysql的Google地图标记。所有标记都有使用“鼠标悬停”打开的信息窗口:

    google.maps.event.addListener(markerComm, 'mouseover', function () {
        infoWindow.setContent(markerDetails);
        infoWindow.open(map, markerComm);
    });
在桌面模式下,鼠标悬停将始终打开“信息”窗口,而与标记的数量无关。但是,在移动模式下,如果有多个标记(如20+),点击标记只会打开信息窗口

以下是当只有几个标记时,以及当我使用Chrome Developer工具在不刷新页面的情况下从移动模式切换到桌面模式时发生的情况:

  • 信息窗口始终在桌面模式下正确打开
  • 切换到移动模式,点击时信息窗口不会打开
  • 切换回桌面模式,它们将再次正常打开
  • 在模式之间来回切换多次:始终在桌面上工作,但在移动设备上不工作
  • 当信息窗口在桌面模式下打开时,我切换到移动模式,信息窗口仍然打开,但可以通过点击“x”来关闭。但是,点击以重新打开将不起作用
在桌面模式下刷新和启动页面时,偶尔会发生异常。有时切换到移动模式时,信息窗口会在点击时打开,但我很少能做到这一点

观察控制台日志,这一切似乎都是某种时间问题。我尝试过将函数从onload移动到延迟外部js文件,无论是在头部还是在标记之前,但都没有起到任何作用


关于为什么会发生这种情况或如何纠正这种情况,有什么想法吗?提前谢谢

我添加了一个click listener,现在它可以在移动设备上正常工作:

    google.maps.event.addListener(markerComm, 'mouseover', function () {
        infoWindow.setContent(markerDetails);
        infoWindow.open(map, markerComm);
    });
    google.maps.event.addListener(markerComm, 'click', function () {
        infoWindow.setContent(markerDetails);
        infoWindow.open(map, markerComm);
    });
我曾尝试以这种方式添加“单击”,但没有成功:

    google.maps.event.addListener(markerComm, 'click mouseover', function () {

如何在触控设备上触发鼠标悬停事件?我不理解投票结果。当在移动设备上点击鼠标悬停信息时,窗口会打开,没有鼠标悬停就不会打开。然而,您的回答让我想到了下面的解决方案。