leaflet - 如何根据情况删除或清空传单地图
问题描述
我想根据所选条件删除地图。
.component.ts
dataChanged (selectsensor) {
console.log(selectsensor)
for( var j=0;j<selectsensor.length;j++){
for (var i =0; i< this.sensors.length;i++){
if(this.sensors[i].name == selectsensor[selectsensor.length - 1]){
if(this.sensorsarray.filter(sense=>sense.name == selectsensor[selectsensor.length - 1]).length > 0){
console.log(this.sensorsarray.filter(sense=>sense.name == selectsensor[selectsensor.length - 1]).length);
for(var t=0;t<this.sensorsarray.length;t++){
if(this.sensorsarray[t].name == selectsensor[selectsensor.length - 1]){
this.sensorsarray.splice(t);
}
}
console.log(this.sensorsarray);
alert("Value exists!")
}else{
this.sensorsarray.push(this.sensors[i]);
var v= "map"+ (this.sensorsarray.length - 1 )+"";
map[i] = L.map(v).setView([this.sensors[i].latitude,this.sensors[i].longitude], 11);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: ' <span style="font-size:17px">'+this.sensors[i].name+' </span>'
}).addTo(map[i]);
var latlng = L.latLng(this.sensors[i].latitude, this.sensors[i].longitude)
marker = L.marker(latlng, { icon: sensoricon }).addTo(map[i]);
circlemark[i] = L.circle(latlng, { radius: 5000, weight: 0 }).addTo(map[i]);
}
}
我想在条件为 this.sensorsarray.filter(sense=>sense.name == selectsensor[selectsensor.length - 1]).length > 0)时删除地图
解决方案
地图可以通过以下方式删除:
map.remove()
那么它应该看起来像你:
this.sensorsarray.filter(sense=>sense.name == selectsensor[selectsensor.length - 1]).length > 0){
map[i].remove()
}
推荐阅读
- java - 关于 Runtime.memory() 与 Windows 的物理内存使用历史图表的 Java 混淆
- r - R Randomforest未定义列问题
- azure - 用于 Eventhub 循环的算法
- .htaccess - 如何从 example.com/products/productfamily/product 更改链接
- android - 有没有办法在没有恢复出厂设置的情况下重置 android 设置向导并在重启设备后显示设置向导
- apache-spark - 如何使用 spark 增量合并小型 parquet 文件
- c# - 查找最接近 int 值的排序数组索引
- html - 选择 DOM 中没有特定兄弟节点的节点
- css - 根据条件在 Angular 中使用 [ngClass] 添加/删除 CSS 类的语法
- python-3.x - 在多级数据框中添加子列