谷歌地图api v3中折线顶点的鼠标移动事件

时间:2013-12-18 17:18:10

标签: google-maps-api-3 polyline google-polyline

当我在可编辑折线上移动顶点时,我想显示一个信息窗口。 此信息将显示折线上前一个顶点的距离和方向。当我删除顶点时,必须关闭信息窗口。 问题是折线没有顶点上的拖拽事件。我将尝试使用折线的鼠标移动但移动完成后它会被触发。 在下一个代码中,我展示了我所说的一个例子。我有一条折线(flightPath)。如果我点击最后一个顶点,我想同时移动一个标记。但它不起作用。移动完成后移动标记。

google.maps.event.addListener(flightPath, 'mousemove', function (event) {
   if (typeof event.vertex === "undefined") {
        moveline = 0
   }
   else {
       if (event.vertex == (flightPath.getPath().getLength()-1)) {
            var path = flightPath.getPath();
            marker.setPosition(path.getAt(event.vertex));
       }
   }
});

有什么建议吗?

注意:我的折线是可编辑的。

由于

1 个答案:

答案 0 :(得分:0)

您可以在标记上管理拖动结束事件并更改顶点的de latLng:

google.maps.event.addListener(marker, 'dragend', function(evt){

var vertex = marker.get('vertex');

var path = flightPath.getPath();

var newPath = Array.prototype.slice.call(path).filter(
function(element, index){
    return index < vertex;
}).concat([evt.latLng],
Array.prototype.slice.call(path).filter(
function(element, index){
    return index > vertex;
}));
flightPath.setPath(newPath);


});

我很抱歉我的英语不好但我希望它有所帮助。