This commit is contained in:
duanxiaohai 2024-08-27 14:41:11 +08:00
commit 9e90543007
1 changed files with 35 additions and 24 deletions

View File

@ -922,6 +922,9 @@ const getCssj = async () => {
} }
}); });
}; };
/**
* 地块编辑
*/
// //
const movemode = () => { const movemode = () => {
drawing.value = true; drawing.value = true;
@ -954,25 +957,26 @@ const polyLayer = new BMapGL.GeoJSONLayer("poly", {
polygonStyle: normalStyle, polygonStyle: normalStyle,
}); });
const setActiveStyle = (overlay) => { const setActiveStyle = (overlay) => {
polyLayer.resetStyle(); // polyLayer.resetStyle();
overlay.setOptions(activeStyle); // overlay.setOptions(activeStyle);
}; };
//
const clickHandler = (e) => { const clickHandler = (e) => {
console.log(5555); console.log(5555, e);
let target = polyLayer.pickOverlays(e.target); let target = polyLayer.pickOverlays(e.target);
if (target && target[0]) { if (target && target[0]) {
selectedOverlay = target[0]; selectedOverlay = target[0];
console.log("5-1", selectedOverlay); console.log("5-1", selectedOverlay);
// nextTick(() => { // setActiveStyle(selectedOverlay);
setActiveStyle(selectedOverlay); movepoy.open(selectedOverlay, call());
movepoy.open(selectedOverlay);
// });
} else { } else {
console.log("5-2"); console.log("5-2");
polyLayer.resetStyle(); polyLayer.resetStyle();
} }
}; };
const call = () => {
console.log("执行");
};
// //
const moveEdit = () => { const moveEdit = () => {
console.log(11111, cs_choose_arr.value[0]); console.log(11111, cs_choose_arr.value[0]);
@ -980,28 +984,31 @@ const moveEdit = () => {
if (currentMarker !== null) { if (currentMarker !== null) {
map.removeOverlay(currentMarker); map.removeOverlay(currentMarker);
} }
//
selectedOverlay = null; selectedOverlay = null;
sceneMove = null; sceneMove = null;
movepoy = null; movepoy = null;
select = null; select = null;
map.addGeoJSONLayer(polyLayer); map.addGeoJSONLayer(polyLayer);
polyLayer.addOverlay(cs_choose_arr.value[0]); polyLayer.addOverlay(cs_choose_arr.value[0]);
sceneMove = new DrawScene(map); sceneMove = new DrawScene(map);
movepoy = new PolygonMove(sceneMove); movepoy = new PolygonMove(sceneMove);
movepoy.setCurrentModel(PolygonMove.MODEL.MOVE); movepoy.setCurrentModel(PolygonMove.MODEL.MOVE);
select = new Select(sceneMove, { // select = new Select(sceneMove, {
type: DrawingType.DRAWING_POINT, // type: DrawingType.DRAWING_POINT,
}); // });
select.open(); // select.open();
polyLayer.resetStyle(); polyLayer.resetStyle();
sceneMove.addEventListener(OperateEventType.CLICK, clickHandler); sceneMove.addEventListener(OperateEventType.CLICK, clickHandler);
}; };
// //
const moveCancel = () => { const moveCancel = () => {
movepoy.close();
sceneMove.removeEventListener(OperateEventType.CLICK, clickHandler); sceneMove.removeEventListener(OperateEventType.CLICK, clickHandler);
polyLayer.resetStyle(); //
polyLayer.removeOverlay(cs_choose_arr.value[0]);
map.removeGeoJSONLayer(polyLayer);
//-------
cs_choose_arr.value.forEach((item, index) => { cs_choose_arr.value.forEach((item, index) => {
map.removeOverlay(cs_choose_arr.value[index]); map.removeOverlay(cs_choose_arr.value[index]);
}); });
@ -1009,12 +1016,11 @@ const moveCancel = () => {
}; };
// //
const moveSave = () => { const moveSave = () => {
console.log(22222, cs_choose_arr.value[0]);
// select.close();
// movepoy.close(selectedOverlay);
polyLayer.resetStyle();
arrJWD = [[[]]]; arrJWD = [[[]]];
movepoy.close();
sceneMove.removeEventListener(OperateEventType.CLICK, clickHandler); sceneMove.removeEventListener(OperateEventType.CLICK, clickHandler);
polyLayer.removeOverlay(cs_choose_arr.value[0]);
map.removeGeoJSONLayer(polyLayer);
cs_choose_arr.value[0].points.forEach((item, index) => { cs_choose_arr.value[0].points.forEach((item, index) => {
let arr1 = []; let arr1 = [];
arr1.push(item?.latLng.lng); arr1.push(item?.latLng.lng);
@ -1028,12 +1034,14 @@ const moveSave = () => {
//退 //退
const moveBack = () => { const moveBack = () => {
// select.close(); // select.close();
movepoy.close();
sceneMove.removeEventListener(OperateEventType.CLICK, clickHandler); sceneMove.removeEventListener(OperateEventType.CLICK, clickHandler);
polyLayer.resetStyle(); polyLayer.removeOverlay(cs_choose_arr.value[0]);
// cs_choose_arr.value.forEach((item, index) => { map.removeGeoJSONLayer(polyLayer);
// map.removeOverlay(cs_choose_arr.value[index]); cs_choose_arr.value.forEach((item, index) => {
// }); map.removeOverlay(cs_choose_arr.value[index]);
// addCsChoose(); });
addCsChoose();
move_mode.value = false; move_mode.value = false;
drawing.value = false; drawing.value = false;
}; };
@ -1370,6 +1378,9 @@ const addBack = () => {
map.removeOverlay(currentMarker); map.removeOverlay(currentMarker);
} }
}; };
/**
* 地图编辑结束
*/
// //
const csh = () => { const csh = () => {
clear(); clear();