diff --git a/src/components/Map/Map.vue b/src/components/Map/Map.vue
index 11bbc37..cc31001 100644
--- a/src/components/Map/Map.vue
+++ b/src/components/Map/Map.vue
@@ -555,20 +555,21 @@
setLegendData([{ data: json, layername: key, type: "point" }]);
};
- const beansToMap = ({
- beans,
- fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" },
- type,
- isConvert,
- }) => {
+ const beansToMap = ({beans, fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" }, type, isConvert,}) => {
let geojson = turf.featureCollection(
beans.filter((i) => i[fields.geometry] || (Boolean(Number(i[fields.lng])) && Boolean(Number(i[fields.lat])))).map((i) => {
let feature = null;
if (i[fields.geometry]) feature = turf.feature(Terraformer.WKT.parse(i[fields.geometry]), {...i, name: i[fields.name],});
if (i[fields.lng]) feature = turf.point([i[fields.lng], i[fields.lat]].map(Number), {...i, name: i[fields.name],});
feature.properties.visible = false;
+ if ( feature.properties.name && !turf.getType(feature).toLocaleLowerCase().includes("point")) {
+ let center = turf.pointOnFeature(feature);
+ center.properties = { ...feature.properties, minzoom: 10,type:feature.properties.type };
+ center.properties.geometry = Terraformer.WKT.convert(center.geometry);
+ return [feature,center];
+ }
return feature;
- }).filter(Boolean));
+ }).flat().filter(Boolean));
isConvert && (geojson = gcoord.transform(geojson, gcoord.AMap, gcoord.WGS84));
setGeoJSON({ json: geojson, key: type });
};
diff --git a/src/components/Map/Map.vue b/src/components/Map/Map.vue
index 11bbc37..cc31001 100644
--- a/src/components/Map/Map.vue
+++ b/src/components/Map/Map.vue
@@ -555,20 +555,21 @@
setLegendData([{ data: json, layername: key, type: "point" }]);
};
- const beansToMap = ({
- beans,
- fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" },
- type,
- isConvert,
- }) => {
+ const beansToMap = ({beans, fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" }, type, isConvert,}) => {
let geojson = turf.featureCollection(
beans.filter((i) => i[fields.geometry] || (Boolean(Number(i[fields.lng])) && Boolean(Number(i[fields.lat])))).map((i) => {
let feature = null;
if (i[fields.geometry]) feature = turf.feature(Terraformer.WKT.parse(i[fields.geometry]), {...i, name: i[fields.name],});
if (i[fields.lng]) feature = turf.point([i[fields.lng], i[fields.lat]].map(Number), {...i, name: i[fields.name],});
feature.properties.visible = false;
+ if ( feature.properties.name && !turf.getType(feature).toLocaleLowerCase().includes("point")) {
+ let center = turf.pointOnFeature(feature);
+ center.properties = { ...feature.properties, minzoom: 10,type:feature.properties.type };
+ center.properties.geometry = Terraformer.WKT.convert(center.geometry);
+ return [feature,center];
+ }
return feature;
- }).filter(Boolean));
+ }).flat().filter(Boolean));
isConvert && (geojson = gcoord.transform(geojson, gcoord.AMap, gcoord.WGS84));
setGeoJSON({ json: geojson, key: type });
};
diff --git a/src/components/Map/MapBox.vue b/src/components/Map/MapBox.vue
index d5e8a4c..3a6d7b1 100644
--- a/src/components/Map/MapBox.vue
+++ b/src/components/Map/MapBox.vue
@@ -490,7 +490,7 @@
let feature = [];
if (properties.geometry) {
let area = turf.feature(Terraformer.WKT.parse(properties.geometry));
- feature = [turf.difference(mb, area)];
+ feature = [turf.difference(turf.featureCollection([mb, area]))];
mapCenterByData(turf.bbox(area));
}
newfiberMap
@@ -738,14 +738,13 @@
let prevObj = null;
const panelDataToMap = (obj) => {
let isUp = Object.keys(obj).includes("isUp") ? obj.isUp : true; //是否触发地图点击事件 默认触发
- debugger
const { setLayerVisible, setHighlight } = events_params;
// if (prevObj != null) busEmit(setLayerVisible.key, { layername: prevObj.type, isCheck: false });
busEmit(setHighlight.key, []);
// busEmit(setLayerVisible.key, { layername: obj.type, isCheck: true });
// debugger;
- let features = ["point", "linestring", "polygon", "hb_wh_dhgx_psfq_geometrys", "hb_wh_dhgx_merge",'ps_watch_area_geometrys'].map((key) => newfiberMap.map.getSource(key)._options.data.features.filter((i) => (i.properties.name || "").includes(obj.name) || (obj.id ? obj.id == i.properties.pid : true))).flat();
- let feature = obj.watchAreaName?features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0]:features.filter((i) => i.properties.p_type)[0] || features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0] || features[_.random(0, features.length - 1)];
+ let features = ["point", "linestring", "polygon", "hb_wh_dhgx_psfq_geometrys", "hb_wh_dhgx_merge",'ps_watch_area_geometrys'].map((key) => newfiberMap.map.getSource(key)._options.data.features.filter((i) => (i.properties.name || "").includes(obj.name) || (obj.id ? obj.id == i.properties.pid : false))).flat();
+ let feature = obj.watchAreaName || obj.stName?features.filter((i) => i.properties.name == obj.name || i.properties.id == obj.id)[0]:features.filter((i) => i.properties.p_type)[0] || features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0] || features[_.random(0, features.length - 1)];
console.log("feature.properties.p_type&&isUp", feature.properties.p_type && isUp);
if (feature.properties.p_type && isUp) return mapClickEvt(undefined, feature.properties, "排水分区");
if (!feature) return;
@@ -754,13 +753,8 @@
};
const mapCenterByData = (bbox) => {
- newfiberMap.map.fitBounds(
- [
- [bbox[0], bbox[1]],
- [bbox[2], bbox[3]],
- ],
- { padding: 100, offset: [100, 10], maxZoom: 18, pitch: 30,bearing:-9.5, duration: 500 }
- );
+ bbox = turf.bbox(turf.transformScale(turf.bboxPolygon(bbox),0.7))
+ newfiberMap.map.fitBounds([[bbox[0], bbox[1]], [bbox[2], bbox[3]],], { padding: 100, offset: [100, -10],maxZoom: 18, pitch: 30,bearing:-9.5, duration: 500 });
};
const trajectoryToMap = (data) => {
clearTrajectory();
@@ -927,15 +921,11 @@
//地理/逆地理编码
const geoRegeo = async ({ name, lngLat, callback }) => {
- let flag,
- params = null;
+ let flag, params = null;
if (name) (flag = "geo"), (params = `address=${name}`);
if (lngLat) (flag = "regeo"), (params = `location=${lngLat.join(",")}`);
if (!(flag || params)) console.log("name,lngLat is null!");
- const results = await request(
- `/amap/v3/geocode/${flag}?${params}&extensions=all&output=json&key=f627fbb24176be73142eb0b5088d8683&city=420111`
- );
- console.log("geoRegeo results", results);
+ const results = await request(`/amap/v3/geocode/${flag}?${params}&extensions=all&output=json&key=f627fbb24176be73142eb0b5088d8683&city=420111`);
callback && callback(results);
return results;
};
@@ -1095,7 +1085,7 @@
newfiberMap.map.getCanvas().id = newfiberMap.map.getCanvas().className;
mx_map.create(map, {
locateFile: (fileName) => `https://dhgx12.wh-nf.cn:7081/resource/v4/libs/other/mx_draw/wasm/${mode}/${fileName}`,
- fileUrl: 'https://dhgx12.wh-nf.cn:7081/resource/v4/kexuedao.dwg.mxweb',
+ fileUrl: 'https://dhgx12.wh-nf.cn:7081/resource/v4/aa.dwg.mxweb',
viewBackgroundColor: {red: 0, green: 0, blue: 0}
});
window.mx_map = mx_map;*/
diff --git a/src/components/Map/Map.vue b/src/components/Map/Map.vue
index 11bbc37..cc31001 100644
--- a/src/components/Map/Map.vue
+++ b/src/components/Map/Map.vue
@@ -555,20 +555,21 @@
setLegendData([{ data: json, layername: key, type: "point" }]);
};
- const beansToMap = ({
- beans,
- fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" },
- type,
- isConvert,
- }) => {
+ const beansToMap = ({beans, fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" }, type, isConvert,}) => {
let geojson = turf.featureCollection(
beans.filter((i) => i[fields.geometry] || (Boolean(Number(i[fields.lng])) && Boolean(Number(i[fields.lat])))).map((i) => {
let feature = null;
if (i[fields.geometry]) feature = turf.feature(Terraformer.WKT.parse(i[fields.geometry]), {...i, name: i[fields.name],});
if (i[fields.lng]) feature = turf.point([i[fields.lng], i[fields.lat]].map(Number), {...i, name: i[fields.name],});
feature.properties.visible = false;
+ if ( feature.properties.name && !turf.getType(feature).toLocaleLowerCase().includes("point")) {
+ let center = turf.pointOnFeature(feature);
+ center.properties = { ...feature.properties, minzoom: 10,type:feature.properties.type };
+ center.properties.geometry = Terraformer.WKT.convert(center.geometry);
+ return [feature,center];
+ }
return feature;
- }).filter(Boolean));
+ }).flat().filter(Boolean));
isConvert && (geojson = gcoord.transform(geojson, gcoord.AMap, gcoord.WGS84));
setGeoJSON({ json: geojson, key: type });
};
diff --git a/src/components/Map/MapBox.vue b/src/components/Map/MapBox.vue
index d5e8a4c..3a6d7b1 100644
--- a/src/components/Map/MapBox.vue
+++ b/src/components/Map/MapBox.vue
@@ -490,7 +490,7 @@
let feature = [];
if (properties.geometry) {
let area = turf.feature(Terraformer.WKT.parse(properties.geometry));
- feature = [turf.difference(mb, area)];
+ feature = [turf.difference(turf.featureCollection([mb, area]))];
mapCenterByData(turf.bbox(area));
}
newfiberMap
@@ -738,14 +738,13 @@
let prevObj = null;
const panelDataToMap = (obj) => {
let isUp = Object.keys(obj).includes("isUp") ? obj.isUp : true; //是否触发地图点击事件 默认触发
- debugger
const { setLayerVisible, setHighlight } = events_params;
// if (prevObj != null) busEmit(setLayerVisible.key, { layername: prevObj.type, isCheck: false });
busEmit(setHighlight.key, []);
// busEmit(setLayerVisible.key, { layername: obj.type, isCheck: true });
// debugger;
- let features = ["point", "linestring", "polygon", "hb_wh_dhgx_psfq_geometrys", "hb_wh_dhgx_merge",'ps_watch_area_geometrys'].map((key) => newfiberMap.map.getSource(key)._options.data.features.filter((i) => (i.properties.name || "").includes(obj.name) || (obj.id ? obj.id == i.properties.pid : true))).flat();
- let feature = obj.watchAreaName?features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0]:features.filter((i) => i.properties.p_type)[0] || features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0] || features[_.random(0, features.length - 1)];
+ let features = ["point", "linestring", "polygon", "hb_wh_dhgx_psfq_geometrys", "hb_wh_dhgx_merge",'ps_watch_area_geometrys'].map((key) => newfiberMap.map.getSource(key)._options.data.features.filter((i) => (i.properties.name || "").includes(obj.name) || (obj.id ? obj.id == i.properties.pid : false))).flat();
+ let feature = obj.watchAreaName || obj.stName?features.filter((i) => i.properties.name == obj.name || i.properties.id == obj.id)[0]:features.filter((i) => i.properties.p_type)[0] || features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0] || features[_.random(0, features.length - 1)];
console.log("feature.properties.p_type&&isUp", feature.properties.p_type && isUp);
if (feature.properties.p_type && isUp) return mapClickEvt(undefined, feature.properties, "排水分区");
if (!feature) return;
@@ -754,13 +753,8 @@
};
const mapCenterByData = (bbox) => {
- newfiberMap.map.fitBounds(
- [
- [bbox[0], bbox[1]],
- [bbox[2], bbox[3]],
- ],
- { padding: 100, offset: [100, 10], maxZoom: 18, pitch: 30,bearing:-9.5, duration: 500 }
- );
+ bbox = turf.bbox(turf.transformScale(turf.bboxPolygon(bbox),0.7))
+ newfiberMap.map.fitBounds([[bbox[0], bbox[1]], [bbox[2], bbox[3]],], { padding: 100, offset: [100, -10],maxZoom: 18, pitch: 30,bearing:-9.5, duration: 500 });
};
const trajectoryToMap = (data) => {
clearTrajectory();
@@ -927,15 +921,11 @@
//地理/逆地理编码
const geoRegeo = async ({ name, lngLat, callback }) => {
- let flag,
- params = null;
+ let flag, params = null;
if (name) (flag = "geo"), (params = `address=${name}`);
if (lngLat) (flag = "regeo"), (params = `location=${lngLat.join(",")}`);
if (!(flag || params)) console.log("name,lngLat is null!");
- const results = await request(
- `/amap/v3/geocode/${flag}?${params}&extensions=all&output=json&key=f627fbb24176be73142eb0b5088d8683&city=420111`
- );
- console.log("geoRegeo results", results);
+ const results = await request(`/amap/v3/geocode/${flag}?${params}&extensions=all&output=json&key=f627fbb24176be73142eb0b5088d8683&city=420111`);
callback && callback(results);
return results;
};
@@ -1095,7 +1085,7 @@
newfiberMap.map.getCanvas().id = newfiberMap.map.getCanvas().className;
mx_map.create(map, {
locateFile: (fileName) => `https://dhgx12.wh-nf.cn:7081/resource/v4/libs/other/mx_draw/wasm/${mode}/${fileName}`,
- fileUrl: 'https://dhgx12.wh-nf.cn:7081/resource/v4/kexuedao.dwg.mxweb',
+ fileUrl: 'https://dhgx12.wh-nf.cn:7081/resource/v4/aa.dwg.mxweb',
viewBackgroundColor: {red: 0, green: 0, blue: 0}
});
window.mx_map = mx_map;*/
diff --git a/src/views/pictureOnMap/LayerControl.vue b/src/views/pictureOnMap/LayerControl.vue
index dc81682..a476434 100644
--- a/src/views/pictureOnMap/LayerControl.vue
+++ b/src/views/pictureOnMap/LayerControl.vue
@@ -200,6 +200,10 @@
value: "outlet_water_level",
label: "排口流量",
},
+ {
+ value: "waterlogging",
+ label: "渍水点",
+ },
],
},
{
diff --git a/src/components/Map/Map.vue b/src/components/Map/Map.vue
index 11bbc37..cc31001 100644
--- a/src/components/Map/Map.vue
+++ b/src/components/Map/Map.vue
@@ -555,20 +555,21 @@
setLegendData([{ data: json, layername: key, type: "point" }]);
};
- const beansToMap = ({
- beans,
- fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" },
- type,
- isConvert,
- }) => {
+ const beansToMap = ({beans, fields = { geometry: "geometry", lng: "lng", lat: "lat", name: "name" }, type, isConvert,}) => {
let geojson = turf.featureCollection(
beans.filter((i) => i[fields.geometry] || (Boolean(Number(i[fields.lng])) && Boolean(Number(i[fields.lat])))).map((i) => {
let feature = null;
if (i[fields.geometry]) feature = turf.feature(Terraformer.WKT.parse(i[fields.geometry]), {...i, name: i[fields.name],});
if (i[fields.lng]) feature = turf.point([i[fields.lng], i[fields.lat]].map(Number), {...i, name: i[fields.name],});
feature.properties.visible = false;
+ if ( feature.properties.name && !turf.getType(feature).toLocaleLowerCase().includes("point")) {
+ let center = turf.pointOnFeature(feature);
+ center.properties = { ...feature.properties, minzoom: 10,type:feature.properties.type };
+ center.properties.geometry = Terraformer.WKT.convert(center.geometry);
+ return [feature,center];
+ }
return feature;
- }).filter(Boolean));
+ }).flat().filter(Boolean));
isConvert && (geojson = gcoord.transform(geojson, gcoord.AMap, gcoord.WGS84));
setGeoJSON({ json: geojson, key: type });
};
diff --git a/src/components/Map/MapBox.vue b/src/components/Map/MapBox.vue
index d5e8a4c..3a6d7b1 100644
--- a/src/components/Map/MapBox.vue
+++ b/src/components/Map/MapBox.vue
@@ -490,7 +490,7 @@
let feature = [];
if (properties.geometry) {
let area = turf.feature(Terraformer.WKT.parse(properties.geometry));
- feature = [turf.difference(mb, area)];
+ feature = [turf.difference(turf.featureCollection([mb, area]))];
mapCenterByData(turf.bbox(area));
}
newfiberMap
@@ -738,14 +738,13 @@
let prevObj = null;
const panelDataToMap = (obj) => {
let isUp = Object.keys(obj).includes("isUp") ? obj.isUp : true; //是否触发地图点击事件 默认触发
- debugger
const { setLayerVisible, setHighlight } = events_params;
// if (prevObj != null) busEmit(setLayerVisible.key, { layername: prevObj.type, isCheck: false });
busEmit(setHighlight.key, []);
// busEmit(setLayerVisible.key, { layername: obj.type, isCheck: true });
// debugger;
- let features = ["point", "linestring", "polygon", "hb_wh_dhgx_psfq_geometrys", "hb_wh_dhgx_merge",'ps_watch_area_geometrys'].map((key) => newfiberMap.map.getSource(key)._options.data.features.filter((i) => (i.properties.name || "").includes(obj.name) || (obj.id ? obj.id == i.properties.pid : true))).flat();
- let feature = obj.watchAreaName?features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0]:features.filter((i) => i.properties.p_type)[0] || features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0] || features[_.random(0, features.length - 1)];
+ let features = ["point", "linestring", "polygon", "hb_wh_dhgx_psfq_geometrys", "hb_wh_dhgx_merge",'ps_watch_area_geometrys'].map((key) => newfiberMap.map.getSource(key)._options.data.features.filter((i) => (i.properties.name || "").includes(obj.name) || (obj.id ? obj.id == i.properties.pid : false))).flat();
+ let feature = obj.watchAreaName || obj.stName?features.filter((i) => i.properties.name == obj.name || i.properties.id == obj.id)[0]:features.filter((i) => i.properties.p_type)[0] || features.filter((i) => i.properties.name == obj.name && i.properties.id == obj.id)[0] || features[_.random(0, features.length - 1)];
console.log("feature.properties.p_type&&isUp", feature.properties.p_type && isUp);
if (feature.properties.p_type && isUp) return mapClickEvt(undefined, feature.properties, "排水分区");
if (!feature) return;
@@ -754,13 +753,8 @@
};
const mapCenterByData = (bbox) => {
- newfiberMap.map.fitBounds(
- [
- [bbox[0], bbox[1]],
- [bbox[2], bbox[3]],
- ],
- { padding: 100, offset: [100, 10], maxZoom: 18, pitch: 30,bearing:-9.5, duration: 500 }
- );
+ bbox = turf.bbox(turf.transformScale(turf.bboxPolygon(bbox),0.7))
+ newfiberMap.map.fitBounds([[bbox[0], bbox[1]], [bbox[2], bbox[3]],], { padding: 100, offset: [100, -10],maxZoom: 18, pitch: 30,bearing:-9.5, duration: 500 });
};
const trajectoryToMap = (data) => {
clearTrajectory();
@@ -927,15 +921,11 @@
//地理/逆地理编码
const geoRegeo = async ({ name, lngLat, callback }) => {
- let flag,
- params = null;
+ let flag, params = null;
if (name) (flag = "geo"), (params = `address=${name}`);
if (lngLat) (flag = "regeo"), (params = `location=${lngLat.join(",")}`);
if (!(flag || params)) console.log("name,lngLat is null!");
- const results = await request(
- `/amap/v3/geocode/${flag}?${params}&extensions=all&output=json&key=f627fbb24176be73142eb0b5088d8683&city=420111`
- );
- console.log("geoRegeo results", results);
+ const results = await request(`/amap/v3/geocode/${flag}?${params}&extensions=all&output=json&key=f627fbb24176be73142eb0b5088d8683&city=420111`);
callback && callback(results);
return results;
};
@@ -1095,7 +1085,7 @@
newfiberMap.map.getCanvas().id = newfiberMap.map.getCanvas().className;
mx_map.create(map, {
locateFile: (fileName) => `https://dhgx12.wh-nf.cn:7081/resource/v4/libs/other/mx_draw/wasm/${mode}/${fileName}`,
- fileUrl: 'https://dhgx12.wh-nf.cn:7081/resource/v4/kexuedao.dwg.mxweb',
+ fileUrl: 'https://dhgx12.wh-nf.cn:7081/resource/v4/aa.dwg.mxweb',
viewBackgroundColor: {red: 0, green: 0, blue: 0}
});
window.mx_map = mx_map;*/
diff --git a/src/views/pictureOnMap/LayerControl.vue b/src/views/pictureOnMap/LayerControl.vue
index dc81682..a476434 100644
--- a/src/views/pictureOnMap/LayerControl.vue
+++ b/src/views/pictureOnMap/LayerControl.vue
@@ -200,6 +200,10 @@
value: "outlet_water_level",
label: "排口流量",
},
+ {
+ value: "waterlogging",
+ label: "渍水点",
+ },
],
},
{
diff --git a/src/views/pictureOnMap/page/FloodControlAndDrainage/Pailaodiaodu/MonitoringWarningLeft/components/drainageDDZL.vue b/src/views/pictureOnMap/page/FloodControlAndDrainage/Pailaodiaodu/MonitoringWarningLeft/components/drainageDDZL.vue
index 5eca826..456960d 100644
--- a/src/views/pictureOnMap/page/FloodControlAndDrainage/Pailaodiaodu/MonitoringWarningLeft/components/drainageDDZL.vue
+++ b/src/views/pictureOnMap/page/FloodControlAndDrainage/Pailaodiaodu/MonitoringWarningLeft/components/drainageDDZL.vue
@@ -104,6 +104,9 @@
:autosize="{ minRows: 4, maxRows: 6 }"
>
+
+
+
下发调度建议
@@ -163,6 +166,7 @@