大更新
This commit is contained in:
@@ -7,9 +7,9 @@
|
||||
item.label
|
||||
}}</a-select-option>
|
||||
</a-select>
|
||||
<a-radio-group @change="whereChange" v-model:value="where.type">
|
||||
<a-radio-button value="place"> 点位 </a-radio-button>
|
||||
<a-radio-button value="area"> 城区 </a-radio-button>
|
||||
<a-radio-group @change="whereChange" v-model:value="where.regionLevel">
|
||||
<a-radio-button value="市级"> 市级 </a-radio-button>
|
||||
<a-radio-button value="县级"> 县级 </a-radio-button>
|
||||
</a-radio-group>
|
||||
<a-radio-group @change="whereChange" v-model:value="where.timeSlot">
|
||||
<a-radio-button value="昼">昼</a-radio-button>
|
||||
@@ -25,11 +25,9 @@
|
||||
// import axios from "axios";
|
||||
import { Scene, PointLayer, Popup } from "@antv/l7";
|
||||
// import { DrawControl } from '@antv/l7-draw';
|
||||
import { CityLayer } from "@antv/l7-district";
|
||||
import { GaodeMap } from "@antv/l7-maps";
|
||||
import {
|
||||
getGisBase,
|
||||
getGisArea,
|
||||
getColumnOptions,
|
||||
} from "@/api/ecology/noise/road-sound";
|
||||
let scene = null;
|
||||
@@ -41,7 +39,7 @@ export default {
|
||||
yearOptions: [],
|
||||
where: {
|
||||
timeSlot: "昼",
|
||||
type: "area",
|
||||
regionLevel: "市级",
|
||||
monitorYear: "选择年份",
|
||||
},
|
||||
};
|
||||
@@ -82,7 +80,10 @@ export default {
|
||||
},
|
||||
setPlaceData() {},
|
||||
whereChange() {
|
||||
if (this.where.type == "place") {
|
||||
|
||||
if(scene && pointLayer){
|
||||
scene.removeLayer(pointLayer)
|
||||
}
|
||||
getGisBase(this.where).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
if(cityLayer){
|
||||
@@ -97,10 +98,10 @@ export default {
|
||||
y: "lat",
|
||||
},
|
||||
})
|
||||
.shape("cylinder")
|
||||
.size("leq", function (level) {
|
||||
return [4, 4, level];
|
||||
})
|
||||
.shape('hexagon').size(10)
|
||||
// .size("leq", acid (level) {
|
||||
// return [4, 4, level];
|
||||
// })
|
||||
.active(true)
|
||||
.color("leq", (leq) => {
|
||||
const { timeSlot } = this.where;
|
||||
@@ -124,67 +125,18 @@ export default {
|
||||
})
|
||||
.setLnglat(e.lngLat)
|
||||
.setHTML(
|
||||
`<span>${e.feature.place}: ${e.feature.leq}dB(A)</span>`
|
||||
`<p>点位名称: ${e.feature.place}</p><p>点位等级: ${e.feature.regionLevel}</p><p>所属城区: ${e.feature.area}</p><p>所属路段: ${e.feature.road}</p><p>噪声: ${e.feature.leq}dB(A)</p>`
|
||||
);
|
||||
scene.addPopup(popup);
|
||||
});
|
||||
pointLayer.setData(res.data.data);
|
||||
scene.addLayer(pointLayer);
|
||||
scene.setZoomAndCenter(12, [108.33, 22.84]);
|
||||
scene.setPitch(48);
|
||||
// scene.setPitch(48);
|
||||
scene.render()
|
||||
}
|
||||
});
|
||||
} else {
|
||||
getGisArea(this.where).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
if(pointLayer){
|
||||
pointLayer.destroy()
|
||||
scene.removeLayer(pointLayer)
|
||||
}
|
||||
cityLayer = new CityLayer(scene, {
|
||||
data: res.data.data,
|
||||
joinBy: ["adcode", "regionCode"],
|
||||
adcode: ["450000", "450100"],
|
||||
depth: 3,
|
||||
visible: true,
|
||||
label: {
|
||||
field: "NAME_CHN",
|
||||
textAllowOverlap: false,
|
||||
},
|
||||
fill: {
|
||||
color: {
|
||||
field: "leq",
|
||||
values: (leq) => {
|
||||
if(!leq){
|
||||
return
|
||||
}
|
||||
const { timeSlot } = this.where;
|
||||
const color =
|
||||
timeSlot == "昼"
|
||||
? leq > 70
|
||||
? "#f50"
|
||||
: "#2db7f5"
|
||||
: leq > 65
|
||||
? "#f50"
|
||||
: "#2db7f5";
|
||||
return color;
|
||||
},
|
||||
},
|
||||
},
|
||||
popup: {
|
||||
enable: true,
|
||||
triggerEvent: "mousemove",
|
||||
Html: (props) => {
|
||||
return `<span>${props.NAME_CHN}:</span><span>${props.leq + "dB(A)" || "无"}</span>`;
|
||||
},
|
||||
},
|
||||
});
|
||||
scene.setPitch(0);
|
||||
// scene.setZoomAndCenter(12, [108.33, 22.84]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
getAreaData() {},
|
||||
exportMap(){
|
||||
|
||||
Reference in New Issue
Block a user