Google maps 谷歌地图API v3删除所有多段线

Google maps 谷歌地图API v3删除所有多段线,google-maps,google-maps-api-3,google-maps-markers,polyline,Google Maps,Google Maps Api 3,Google Maps Markers,Polyline,没有什么背景。我有一个导航设置,当你点击某个导航项目时,它会在地图上创建标记。如果单击其他导航项目,它将删除以前的标记,并设置新标记 现在我正在处理多段线,并试图在这里创建与多段线相同的概念,但是我遇到了困难。以下是我所拥有的: // Global variable for array of lines var points= []; 设置我的点 line1 = new google.maps.LatLng(line1Start, line1Finish); l

没有什么背景。我有一个导航设置,当你点击某个导航项目时,它会在地图上创建
标记。如果单击其他导航项目,它将删除以前的
标记
,并设置新标记

现在我正在处理
多段线
,并试图在这里创建与
多段线
相同的概念,但是我遇到了困难。以下是我所拥有的:

    // Global variable for array of lines
    var points= [];
设置我的点

    line1 = new google.maps.LatLng(line1Start, line1Finish);
    line2 = new google.maps.LatLng(line2Start, line2Finish);
    line3 = new google.maps.LatLng(line3Start,line3Finish);

    points.push(line1, line2, line3);
设置我的多段线

    var polyline = new google.maps.Polyline({
       path:points,
       strokeColor:"#FF0000",
       strokeOpacity:1.0,
       strokeWeight:2
    });
用线初始化地图

    polyline.setMap(map);
一切都很好。线被创建并显示在我的标记之间。现在让我们删除它们(或不删除…)

在函数开头调用removeLines()以清除它们,然后设置新的。这确实会清除点阵列中的点,但是在地图本身上,
多段线仍会显示,并且不会像我的标记那样消失


什么给了我

您必须执行
polyline.setMap(null)
,这将从映射中删除线

多段线只是板条对象的数组,而不是单个多段线。我认为您可能需要为多段线创建一个单独的数组,然后可以将其循环以全部删除。创建一个全局数组线

 var line = [];
 polyline = new google.maps.Polyline({
        path: points,
        strokeColor: "#FF0000",
        strokeOpacity: 1.0,
        strokeWeight: 2
    });
 line.push(polyline);
现在,将所有多段线对象推入一条阵列线。您可以使其不可见,或通过如下循环将其从地图中删除:

for (i=0; i<line.length; i++) 
{                           
  line[i].setMap(null); //or line[i].setVisible(false);
}

for(i=0;iOW..我以前是这样做的,但是我在点数组上做了一个循环,并做了点[i].setMap(null);显然这需要在多段线上,而不是点数组上…DUH.+1感谢你帮助我认识到:)你是怎么得到的?我试着用line.setMap(null)删除线,然后用line.setMap(this.map)删除线的设置新线路,但不起作用。
for (i=0; i<line.length; i++) 
{                           
  line[i].setMap(null); //or line[i].setVisible(false);
}