由谷歌地图绘制的矩形DrawingManager不会触发mousemove事件

mar*_*ark 1 javascript google-maps

我想要:

  • 在谷歌地图上绘制矩形
  • 最多有矩形
  • 显示鼠标移动时的当前位置

所以,我想出了这个代码 - http://jsfiddle.net/mark69_fnd/vBwf6/4/ 我订阅rectanglecompleteDrawingManager实例的事件,以便处理前一个矩形,保存对新代码的引用并订阅矩形上的mousemove事件.

问题是,mousemove事件永远不会被触发.

我做错了什么以及如何解决?

谢谢.

Eng*_*eer 7

这是一个函数,它通过与地图容器左上角相关的像素偏移给出GPS坐标.

function getLatLngByOffset( map, offsetX, offsetY ){
    var currentBounds = map.getBounds();
    var topLeftLatLng = new google.maps.LatLng( currentBounds.getNorthEast().lat(),
                                                currentBounds.getSouthWest().lng());
    var point = map.getProjection().fromLatLngToPoint( topLeftLatLng );
    point.x += offsetX / ( 1<<map.getZoom() );
    point.y += offsetY / ( 1<<map.getZoom() );
    return map.getProjection().fromPointToLatLng( point );
}
Run Code Online (Sandbox Code Playgroud)

'onmousemove'在地图的div元素上添加事件侦听器,然后传递与div的左上角相关的鼠标位置.

更新:演示(在Chrome上测试)