gpt4 book ai didi

javascript - Google map 折线 - 如何删除它?

转载 作者:数据小太阳 更新时间:2023-10-29 03:48:56 25 4
gpt4 key购买 nike

所以我查了之前关于这个的问题,都是V2相关的,没用。

因此,我创建了两个标记,将它们保存在一个数组中作为标记["to"] 和标记["from"]

然后用这个添加它们

function route(){
for(var key in markers) {
flightPlanCoordinates.push(markers[key].position);
}
flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}

太棒了。但。下次我使用它(数组中有新标记)时,它只是在那里添加一条多段线而不删除前一条。我似乎已经尝试了所有方法,从第一个数组中删除了 flightPath、setMap(null) 等等。

在绘制新线之前删除上一条线的正确方法是什么?

编辑:已解决解决方案

function route(){
var flightPlanCoordinates = [];
for(var key in markers) {
flightPlanCoordinates.push(markers[key].position);
}
if(flightPath) {
flightPath.setPath(flightPlanCoordinates);
} else {
flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
}

原因:flightPlanCoordinates 需要在范围内初始化,这会在每次使用时重置数组,正确清理它。 (还要感谢下面的输入,使代码更好一些。

最佳答案

假设“mypolyline”是您的 Polyline 对象,您也可以尝试:

mypolyline.setPath([]);

这样,您就可以从多段线中取出坐标,这实际上会将其从 map 中移除。

关于javascript - Google map 折线 - 如何删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com