1

我想要:

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

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

问题是该mousemove事件永远不会被触发。

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

谢谢。

4

1 回答 1

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 );
}

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

更新演示(在Chrome上测试)

于 2012-04-28T14:57:07.763 回答