javascript - 多边形鼠标悬停事件位置

标签 javascript jquery google-maps google-fusion-tables

我的网站出现问题。我需要捕获“mousemove”事件,然后根据事件发生时光标的位置更改提示窗口的位置。这是代码:

google.maps.event.addListener(country, 'mousemove', function(e) {
      this.setOptions({fillOpacity: 1});
      $('div.info-win').css('top', e.kb.clientY + 20 + 'px');
      $('div.info-win').css('left', e.kb.clientX -50 + 'px');
      $('div.info-win').show()
});

起初一切正常,但很快浏览器开始显示错误,即 e.kb 未定义。我通过控制台检查了该事件,并意识到“e.kb”确实不存在。相反,有“e.lb”,所以我在代码中更改了它。但现在问题是一样的,控制台显示“e.lb”不存在。我无法解释它,但现在捕获的事件具有“.gb”属性而不是“.lb”。有人可以帮助我并解释为什么这种情况每周都会再次发生,所以我需要始终检查事件属性的名称吗?这是我第一次看到这样的问题,但同时我找不到任何解决方案!

最佳答案

Google map MouseEvent 不提供屏幕 X 和 Y 值。

相反,它似乎只给出鼠标位置的纬度/经度。

引用:

https://developers.google.com/maps/documentation/javascript/reference#MouseEvent https://developers.google.com/maps/documentation/javascript/reference#PolyMouseEvent

您需要将纬度/经度值转换为屏幕鼠标 X/Y 位置,如下所述(类似问题):

Get Position of Mouse Cursor on Mouseover of Google Maps V3 API Marker

关于javascript - 多边形鼠标悬停事件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952432/

相关文章:

javascript - 将背景图像保存到状态

javascript - 我将如何将变量从 .on() 事件传递到回调函数?

jquery - jQuery 中的 document.createTextNode (' ' ) 相当于什么

javascript - 值没有从 html 表单传递到 Javascript,变量记录未定义,为什么?

javascript - 谷歌地图删除控件

javascript - 让 Vim 正确高亮脚本类型 ="text/html"

java - 如何在 OSX 10.6 Snow Leopard 上最好地安装 Rhino

javascript - 在 url 包含 2 个单独单词的页面上搜索 url

javascript - 如何使用 jquery 通过按钮上下移动多选中的选定选项?

javascript - 使用 Microsoft Surface 触摸屏 Chrome 浏览器在 Google map 上捏合缩放问题