From c86f041201ac54bd219e5dc83b5876b506ba2eb4 Mon Sep 17 00:00:00 2001 From: yaoyuhao Date: Tue, 20 Aug 2024 13:40:53 +0800 Subject: [PATCH] gx --- src/view/sy_map.vue | 63 +++++++++++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 16 deletions(-) diff --git a/src/view/sy_map.vue b/src/view/sy_map.vue index 00c4803..0178ba9 100644 --- a/src/view/sy_map.vue +++ b/src/view/sy_map.vue @@ -281,6 +281,7 @@ const cs_un_choose_arr = ref([]); //单点社区其他区块(灰色) const cs_dd_arr = ref([]); //单点社区名 //存放村社区块 const csqk = ref({}); +// var cssj //头部标题 const title_choose = ref(""); const title_jd = ref(""); @@ -803,28 +804,45 @@ const initMap = () => { //添加街道名 addJd(); }; -function mercatorToLngLat(mercator) { - var x = mercator.lng / 20037508.34 * 180; - var y = mercator.lat / 20037508.34 * 180; - y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2); - return { - lng: x, - lat: y - }; +const getCssj=()=>{ + http.get("/api/ggfwyth/regionalDivision/getCsRegionalDivision").then((res) => { + if(res.code == 200){ + cssj=JSON.parse(res.data); + } + }); } -//开启编辑 -const openEdit = () => { - console.log(cs_choose_arr.value[0]); - cs_choose_arr.value[0].enableEditing(); - - // let a=gcj02towgs84(13275212.822414309,3334688.527092757) - // console.log(a); +var arrJWD = [[[]]]; +//百度bd09墨卡托坐标转换百度bd09经纬度坐标 +const bd09 = async (x, y) => { + var ggPoint = new BMapGL.Point(x, y); + var pointArr = []; + pointArr.push(ggPoint); + var convertor = new BMapGL.Convertor(); + convertor.translate(pointArr, COORDINATES_BD09_MC, COORDINATES_BD09, (e) => { + let arr1 = []; + arr1.push(e.points[0].lng); + arr1.push(e.points[0].lat); + console.log('arr1',arr1); + arrJWD[0][0].push(arr1); + }); }; + +//开启编辑 +const openEdit = () => { + cs_choose_arr.value[0].enableEditing(); + console.log(cs_choose_arr.value[0]); + // bd09(13274780.785348017,3334646.4713317254); +}; + //关闭编辑 const closeEdit = () => { cs_choose_arr.value[0].disableEditing(); console.log(cs_choose_arr.value[0]); + cs_choose_arr.value[0].points.forEach((item,index) => { + bd09(item.lng, item.lat,index); + }); + console.log("arrJWD", arrJWD); }; //点击龙游县初始化 const csh = () => { @@ -2500,7 +2518,7 @@ const createCustomOverlayJd2 = (polygon, indexx) => { //加载村社信息 const loadCs = (name) => { xkzCenter.length = 0; - xkzDk.length = 0; + xkzDk.length = 0; cssj.forEach((item, index) => { if (item.name == name) { csqk.value = item.sj; @@ -2626,6 +2644,18 @@ const addCsChoose = () => { zIndex: 99, }); map.addOverlay(cs_choose_arr.value[index]); + cs_choose_arr.value[index].addEventListener("click", (e) => { + console.log(4444444444, e); + + // e.overlay 可能包含了你点击的面 + if (e.overlay && e.overlay.type === "Polygon") { + var vertices = e.overlay.getPath(); // 获取面的所有顶点 + var coordinates = vertices.map(function (point) { + return { lng: point.lng, lat: point.lat }; + }); + console.log(coordinates); // 打印所有坐标 + } + }); } }); }; @@ -3021,6 +3051,7 @@ onMounted(async () => { getData(); BMAP(); getFwq(); + // getCssj(); await getDataBq(); loadingss.value = false; });