传单 - 如何从地图背景中删除旧的移动标记?

问题描述

我有将近 500 个标记,这些标记还有另一个标记。这两个标记也在运动。它每 10 秒更新一次位置。

Black circle marker is main marker,blue one is connected marker

我把连接的marker控制成图层控件。

第一次打开地图时,黑色标记每 10 秒移动一个。 1分钟后,当我打开连接到图层控件的标记时,我看到它连续创建了5-6个标记。

预期结果: 与第一张照片一样,黑色标记和连接标记应该是一个。他们应该一起行动。

实际结果: 连接的标记在地图的背景中创建了许多标记。当我点击控件时,所有标记都会显示在地图上。

从第一次打开地图的那一刻起,所有标记都形成并存储在后台。黑色标记不会在地图上重复,但另一个标记构成了所有位置。

layerGroup.removeLayer() 无法删除出现在后台的标记。有了 layerGroup[1].clearLayer(),情况变得更加复杂。这一次,一个标记在 10 秒后消失并再次形成。

A connected marker creates a marker by repeating it at all locations it passes through.

有没有一种方法可以删除出现在后台的标记?当用户长时间停留在地图上时,地图会变慢并冻结。由于未删除 10 秒内出现的标记而导致地图性能崩溃。

getAllData() {
     this.subscribed = true;
     const source = timer(0,this.VEHICLE_DATA_REFRESH_TIME);
     this.timerSubscription = source.subscribe((val) => { 
          this.getMarkers(); 
     });
     this.subscriptions.push(this.timerSubscription);
}

getMarkers() {
    this.locationService.getLocation().subscribe((res) => {
       if (res.data) {
          res.data.location.forEach(item => {
             this.addMainMarker(item);
             this.addConnMarker(item);
          })
        }
     });
}

调试时,所有标记都出现在后台。同一辆车的不同位置信息出来了。我需要一个可以删除它们的方法。

我正在使用 Angular,ngx-admin 模板

Laeflet 版本:“1.5.1”

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)