2013-10-17 37 views
0

我有一个谷歌地图应用程序,我在折线移动标记。我正在生成新的目标点(latlng坐标)。我想将多段线扩展到这个新的目的地点。使Polyline在运行时间更长

有人能告诉我如何将折线的终点移动到地图上的另一点。

我在这里使用了polyline[index].getPath()我可以看到组成路线的所有坐标对。如何添加到此路线使其更长或更短?

回答

2

简单。如果你只是想补充一点添加点的现有阵列,这个工程:

var currentPath = polyline[index].getPath(); 
var newPoint = new google.maps.LatLng(40.781321,-73.965855); 
currentPath.push(newPoint); 
polyline[index].setPath(currentPath); 

但是,如果要改变其中当前最后一点是,试试这个来代替:

var currentPath = polyline[index].getPath(); 
var newPoint = new google.maps.LatLng(40.781321,-73.965855); 
currentPath.setAt(currentPath.getLength()-1, newPoint); 
polyline[index].setPath(currentPath); 
+0

这应该只更新终点?只是确认。非常感谢你知道这是怎么回事。 – devdar

+1

啊,实际上这只会增加一个额外的点,成为最后一个。如果您只想将LAST端点更改为其他地方,则代码会稍有不同。我也会在这里更新我的答案。 – duncan

+0

是的,请参阅我更新的答案,第二个版本只是改变阵列中最后一个点的位置是 – duncan