angular - 在 Mapbox 中添加新标记之前删除以前的标记
问题描述
当地图通过 GeoJson 数据加载时,我有以下代码在该位置显示标记。它工作得很好,问题是我想在添加新标记时删除以前的地图标记。我应该在哪里进行更改以完美工作。
这是完整的功能
prepareGeoJsonData(data) {
let features = [];
let counter = 0;
for (let val of data) {
features.push({
type: "Feature",
geometry: val.address.geometry.border,
center: val.address.geometry.center,
properties: {
center: val.address.geometry.center.coordinates,
landUnitId: val.memberOf.parcel[0]
},
id: counter++,
});
//
code for marker customization
//
let marker = new mapboxgl.Marker(el)
.setLngLat(cords)
// .setPopup(popup)
.addTo(this._mapRef);
this.markers.push(marker);
}
};
return {
type: "FeatureCollection",
features: features
};
}
当前流量:
页面加载->地图加载->标记出现->应用过滤器->添加新标记->以前的标记仍然存在
所需流量:
页面加载->地图加载->标记出现->应用过滤器->添加新标记->以前的标记消失
解决方案
我只是假设您使用的是谷歌地图。你检查过这个网址吗?
https://developers.google.com/maps/documentation/javascript/examples/marker-remove
TLDR;
for (var i = 0; i < this.markers.length; i++) {
this.markers[i].setMap(null);
}
推荐阅读
- python - CV2,更改 .mp4 文件的编解码器?
- git - git 在静默/安静/非详细模式下恢复?
- android - 新的 Xamarin Forms 4.6 MediaElement 不适用于 Android
- c# - Blazor CascadingValue 以编程方式
- video - FFMpeg 将 .srt 文件作为 WebVTT 嵌入到 hls 流播放列表中
- java - 单例类的方法是线程安全的还是不是在方法内部使用共享资源?
- python - Python浮动给出奇怪的响应
- python - 为什么我收到此代码使用 plotly 绘制绘图的无效语法错误?
- python-3.x - Python pip:ImportError 无法从“六”导入名称“ensure_str”。在多个 pip 命令上
- ios - SwiftUI TextField 不接受整数/双精度数。怎么做?