如何销毁mapbox gl地图实例

cp0*_*p08 5 javascript mapbox-gl-js

我在用"mapbox-gl": "^0.54.0"。初始化 Mapboxgl 实例时,没有创建 Web 工作线程。请看下图截屏

这是示例代码。 gis-map.component.html

<div #container id="GisMapContainer">

</div>
Run Code Online (Sandbox Code Playgroud)

gis-map.component.ts

import * as MapboxGl from 'mapbox-gl';

@Component({
  selector: 'gis-map',
  templateUrl: './gis-map.component.html',
  styleUrls: ['./gis-map.component.scss']
})
export class MapComponent implements OnInit, OnDestroy {

@ViewChild('container', {static: true}) mapContainer: ElementRef;

ngOnInit(){
let options={
container: this.mapContainer.nativeElement,
...
...
};
this.mapInstance = new MapboxGl.Map(options);
}

ngOnDestroy(){
this.mapInstance=null;
}

}
Run Code Online (Sandbox Code Playgroud)

现在,如果我在组件销毁时销毁 Mapbox gl Map 实例,但这些工作线程实例仍然存在。

请给我建议,是否可以破坏 Javascript vm web 工作线程实例。

谢谢。

Dol*_*lly 4

this.mapInstance=null; 可以,但它不会销毁和释放与此地图关联的所有资源(事件..等..)。

使用 Mapbox-gl-js 的实例成员: https://docs.mapbox.com/mapbox-gl-js/api/map/#map#remove