google maps mousemove并一起单击listener

时间:2011-02-18 13:59:19

标签: google-maps addeventlistener

我在谷歌地图上使用了一个mousemove监听器,而我也想处理点击事件。

var path = new google.maps.MVCArray;
...
line = new google.maps.Polyline({
  map: map,
  path: new google.maps.MVCArray([path]),
});
google.maps.event.addListener(map, 'click', function(event) {
   path.push(event.latLng);
});
google.maps.event.addListener(map, 'mousemove', function(event) {
  if (path.getLength() > 1) path.setAt(path.getLength()-1,event.latLng);
});

我想用线跟踪鼠标,但如果用户点击地图,则按下折线的数组。但点击事件不起作用...... 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为您的代码中存在一个小错误:

第5行应阅读

path: path,

而不是

path: new google.maps.MVCArray([path]),

<强>原因: 您的var 路径已经是MCVArray, PolylineOptions 的属性路径只需要一个MVCArray,但是你在普通数组中提供了一个MVCArray在MVCArray中。

这可以防止跟随代码将坐标推送到正确的数组。