leaflet 常用方法

    技术2024-07-23  64

    移除除底图以外所有图层

    //移除除底图外的所有图层 for(var i in map._layers) { if(map._layers[i]._path != undefined) { try { map.removeLayer(map._layers[i]); } catch(e) { console.log("problem with " + e + map._layers[i]); } } }

    var blueIcon = L.icon({ iconUrl: "图标地址", iconSize: [30, 30], iconAnchor: [20, 10] }); this.htmlmaker = []; this.axios.get("./static/json/point.json").then( response => { var latlng = response.data.features; for (let i = 0; i < latlng.length; i++) { var newArr = this.pointType; if (newArr.indexOf(latlng[i].properties.FolderPath) != -1) { var lat = latlng[i].geometry.coordinates[1]; var lng = latlng[i].geometry.coordinates[0]; var tempmarker=[lat,lng]; var marker = L.marker([lat, lng], { icon: blueIcon, minzoom: 8, maxZoom: 10, riseOnHover: true }); var html = ""; html += '<div class="l-popup">'; html += "</div>"; marker.bindPopup(html); this.htmlmaker.push(marker); marker.on("click", () => { this.tempPoint = latlng[i]; }); //添加 this.markerGroup = L.layerGroup(this.htmlmaker); this.markerGroup.addTo(map); // 飞到这个点的位置 map.flyTo(tempmarker,12,{duration: 1}); } } //删除点 this.markerGroup.clearLayers();

    线

    var polyLines = []; var latlngs = fea[i].geometry.coordinates; for (var j = 0; j < latlngs.length; j++) { var lng = latlngs[j][0]; var lat = latlngs[j][1]; var latLng = [lat, lng]; polyLines.push(latLng); } var polyline = L.polyline (polyLines, { color: "red", }); polyline.on("dblclick",e=>{ console.log(1) }) polyline.bindPopup(fea[i].properties.Name); this.polyLines.push(polyline); this.polygonsGroup = L.layerGroup(this.polyLines); this.polygonsGroup.addTo(map); // 飞到这个多边形的位置 map.fitBounds(polyline.getBounds()); // 删除线 map.removeLayer(this.polygonsGroup);
    Processed: 0.012, SQL: 9