谷歌地图v3信息框关闭事件

时间:2012-11-05 20:27:33

标签: google-maps google-maps-api-3

我有一张地图和一个标记。当我用鼠标移动标记时,会出现信息框。我想要做的是,当我用鼠标(mouseout)离开时,信息框会消失,但只有在鼠标没有超过信息框的情况下。如果鼠标移过信息框,我希望信息框保持可见,直到我移动信息框的鼠标。

因此,只要我的鼠标停留在标记或信息框上,它就应该是可见的,当我离开它们时,信息框必须消失。

提前致谢

1 个答案:

答案 0 :(得分:4)

实际上非常简单。

  • 将鼠标事件处理程序附加到marker
  • domready事件处理程序附加到infowindow
  • div内创建infowindow并附加鼠标事件处理程序
我做了什么:

  • 添加了一个计时器,在几秒钟之后关闭infowindow,除非鼠标悬停在它上面

一些代码:

google.maps.event.addListener(marker, 'mouseover', function () {
    infowindow.open(map, marker)
});

google.maps.event.addListener(marker, 'mouseout', function () {
    t = setTimeout(function () {
        infowindow.close()
    }, 3000);
});

google.maps.event.addListener(infowindow, 'domready', function () {
    $('#infodiv').on('mouseenter', function () {
        clearTimeout(t);
    }).on('mouseleave', function () {
        t = setTimeout(function () {
            infowindow.close()
        }, 1000);
    })
});

看到它在这里工作:http://jsfiddle.net/RASG/vA4eQ/

相关问题