2012-04-23 67 views
1

我想:矩形通过谷歌地图的DrawingManager绘制不会触发mousemove事件

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

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

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

我在做什么错误,以及如何解决它?

谢谢。

回答

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的左上角的鼠标位置。

UPDATEDEMO(测试

+0

你能的jsfiddle呢?谢谢。 – mark 2012-05-03 19:25:31

+0

@mark请参阅* DEMO *。 – Engineer 2012-05-05 14:37:33

+0

它的工作。非常感谢。 – mark 2012-05-05 17:26:08

相关问题