近期在做地图项目,利用的是高德地图API。遇到了一些问题。在此记录下来。
问题描述
动态生成的轨迹利用setData
来设置数据,同样我们可以利用这个方法来清除数据。
以下只展示相关代码,自己本身业务相关代码不做展示。
代码如下:
trackInit() {
// 重要!!! 就是它起到清除数据的作用。注意它放在方法的最顶部
if (window.pathSimplifierIns) {
//通过该方法清空上次传入的轨迹
pathSimplifierIns.setData([]);
}
// 接下来就是初始化巡航代码,都是雷同的。可以省略
AMapUI.load(['ui/misc/PathSimplifier', 'lib/$'], function(PathSimplifier, $) {
if (!PathSimplifier.supportCanvas) {
alert('当前环境不支持 Canvas!');
return;
}
let pathSimplifierIns = new PathSimplifier({
// 下面是你的配置代码
// 例如
// 设置地图元数据
// map: this.map,
// 设置层级
// zIndex: 1000
})
// 接下来,重要的一个地方来了。很多人没写下面的这段话,导致了最上面的清除数据没起作用
window.pathSimplifierIns = pathSimplifierIns
// 这样每次初始化之前都会先清除数据。
// 如果你想再次设置数据,可以如下方式继续写
pathSimplifierIns.setData(initData);
// 后面的代码是业务代码,故省略
// xxxxx
})
}