在运行时使Polyline更长

时间:2013-10-17 03:49:27

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

我有一个谷歌地图应用程序,我在折线上移动标记。我正在生成一个新的目标点( latlng coordinates )。我想将折线扩展到这个新的目标点。

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

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

1 个答案:

答案 0 :(得分: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);