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);
}