From c922badd10ecf81a74b0e5c56d3fcd053c041ff2 Mon Sep 17 00:00:00 2001
From: ZhAkps <46207005+ZhAkps@users.noreply.github.com>
Date: 星期二, 06 二月 2024 17:25:20 +0800
Subject: [PATCH] 土地管理详情

---
 src/utils/map2.js |  194 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 161 insertions(+), 33 deletions(-)

diff --git a/src/utils/map2.js b/src/utils/map2.js
index 977fba4..e7cef48 100644
--- a/src/utils/map2.js
+++ b/src/utils/map2.js
@@ -1,10 +1,10 @@
-import { Feature } from "ol";
-import VectorLayer from "ol/layer/Vector";
-import VectorSource from "ol/source/Vector";
-import { Style, Icon, Fill, Stroke, Text, Circle as CircleStyle } from "ol/style";
-import { Point, LineString } from "ol/geom";
-import Overlay from 'ol/Overlay.js';
-import { unByKey } from "ol/Observable.js"; //绉婚櫎浜嬩欢
+// import { Feature } from "ol";
+// import VectorLayer from "ol/layer/Vector";
+// import VectorSource from "ol/source/Vector";
+// import { Style, Icon, Fill, Stroke, Text, Circle as CircleStyle } from "ol/style";
+// import { Point, LineString } from "ol/geom";
+// import Overlay from 'ol/Overlay.js';
+// import { unByKey } from "ol/Observable.js"; //绉婚櫎浜嬩欢
 import Vue from 'vue';
 import axios from "axios";
 import _GLOBAL from '@/assets/GLOBAL2';
@@ -2204,20 +2204,20 @@
 
 //openlayer 鍒涘缓鐐逛綅
 export function createPointMarker(position, obj) {
-    let startFeature = new Feature({
-        geometry: new Point(position),
+    let startFeature = new ol.Feature({
+        geometry: new ol.geom.Point(position),
     });
     startFeature.setProperties({
         desc: obj,
     });
-    let MarkerLayer = new VectorLayer({
+    let MarkerLayer = new ol.layer.Vector({
         id: 'LocationPoint',
         name: '鏍囪鐐�',
-        source: new VectorSource({
+        source: new ol.source.Vector({
             features: [startFeature],
         }),
-        style: new Style({
-            image: new Icon({
+        style: new ol.style.Style({
+            image: new ol.style.Icon({
                 src: require('@/assets/img/collection/scdw.png'),
                 anchorOrigin: "top-left",
                 anchorXUnits: "fraction",
@@ -2234,8 +2234,9 @@
 
 //openlayer 鍦板浘鐐瑰嚮浜嬩欢
 export function setClick(state) {
+    console.log('setClick');
     let ponitPanel = document.getElementById('ponitPanel');
-    let overlay = new Overlay({
+    let overlay = new ol.Overlay({
         element: ponitPanel,
         autoPan: {
             animation: {
@@ -2247,9 +2248,131 @@
 
     // let _clickCallback = callback;
     function handleClick(e) {
+        console.log(e.coordinate);
+        // 鍦熷湴绠$悊
+        if (store.tdglInfo.flag) {
+            axios
+                .get(
+                    // "http://10.10.4.115:8022/geowinmap_xncs/ds?r=0.9158559377752831&serviceproviderid=map.vectorserviceprovider&serviceid=queryfeature&featcls=225%25E8%258C%2583%25E5%259B%25B4%25E5%2588%2586%25E5%258C%25BA%25E8%25A7%2584%25E5%2588%2592.geojson&lng=" +
+                    window.gisBaseUrl + "yzxncsApi/geowinmap_xncs/ds?r=0.9158559377752831&serviceproviderid=map.vectorserviceprovider&serviceid=queryfeature&featcls=225%25E8%258C%2583%25E5%259B%25B4%25E5%2588%2586%25E5%258C%25BA%25E8%25A7%2584%25E5%2588%2592.geojson&lng=" +
+                    e.coordinate[0] +
+                    "&lat=" +
+                    e.coordinate[1] +
+                    "&geom=true&requesttype=json"
+                ).then(response => {
+                    let center = { lon: 0, lat: 0 };
+                    if (window.tdglLine) {
+                        window.map.removeLayer(window.tdglLine);
+                        window.tdglLine = null;
+                    }
+                    var format = new ol.format.WKT(); // 鍒涘缓涓�涓� WKT 瑙f瀽鍣�
+                    var feature = format.readFeature(response.data.geometry); // 瑙f瀽 WKT 骞剁敓鎴愯绱犲璞�
+
+                    // 鍒涘缓涓�涓绱犲浘灞�
+                    window.tdglLine = new ol.layer.Vector({
+                        source: new ol.source.Vector({
+                            features: [feature] // 灏嗚绱犲璞″姞鍏ュ埌鍥惧眰婧愪腑
+                        })
+                    });
+                    window.map.addLayer(window.tdglLine)
+
+
+                    axios
+                        .get(
+                            // "http://10.10.4.115:8022//poisearch/guihuacon/getInfo?ydbm=" +
+                            window.gisBaseUrl + "yzxncsApi/poisearch/guihuacon/getInfo?ydbm=" +
+                            response.data.NO
+                        )
+                        .then(
+                            info => {
+                                let data = info.data.data;
+                                if (data.yongdishuju === null) {
+                                    objdata = {
+                                        POITYPE: "NOTDGL",
+                                        zwxx: "鏆傛棤淇℃伅",
+                                        lon: window.clickPOI.lon,
+                                        lat: window.clickPOI.lat,
+                                    }
+                                } else {
+                                    qiyexinxi = info.data.data.qiyexinxi;
+                                    qysl = data.qiyexinxi.length;
+                                    if (qysl > 0) {
+                                        ydbm = data.qiyexinxi[0]["鍦板潡缂栧彿"];
+                                    } else {
+                                        ydbm = data.churangxinxi["ydbh"];
+                                    }
+                                    try {
+                                        ydlx = data.yongdishuju["ydlxmc"];
+                                    } catch (e) { }
+                                    try {
+                                        cyfx = data.yongdishuju["cyfx"];
+                                    } catch (e) { }
+                                    try {
+                                        // this.crzt = response.data["ZT"];
+                                        switch (response.data["ZT"]) {
+                                            case 3:
+                                                crzt = "宸插嚭璁�";
+                                                break;
+                                            case 4:
+                                                crzt = "鏈嚭璁�";
+                                                break;
+                                        }
+                                    } catch (e) { }
+                                    try {
+                                        ydmj = parseFloat(
+                                            "" + data.yongdishuju["ydmj"]
+                                        ).toFixed(0);
+                                    } catch (e) { }
+                                    try {
+                                        crnx = data.churangxinxi["crnx"];
+                                    } catch (e) { }
+                                    try {
+                                        crnf = data.churangxinxi["crnf"];
+                                    } catch (e) { }
+                                    try {
+                                        rjl = data.yongdishuju["rjl"];
+                                    } catch (e) { }
+                                    try {
+                                        jzxg = data.yongdishuju["jzxg"];
+                                    } catch (e) { }
+                                    try {
+                                        jzmd = data.yongdishuju["jzmd"];
+                                    } catch (e) { }
+                                    objdata = {
+                                        POITYPE: "TDGL",
+                                        ydbm,
+                                        ydlx,
+                                        cyfx,
+                                        crzt,
+                                        ydmj,
+                                        ydbm,
+                                        crnx,
+                                        crnf,
+                                        rjl,
+                                        jzxg,
+                                        jzmd,
+                                        lon:e.coordinate[0],
+                                        lat: e.coordinate[1],
+                                    }
+                                }
+
+                                store.setTdglShow(false);
+                                store.setTdlgInfo({});
+                                store.setTdglShow(true);
+                                store.setTdlgInfo(objdata);
+                            }
+                        );
+
+                })
+            return;
+        }
+
+
         window.map.forEachFeatureAtPixel(e.pixel, function (feature) {
             // console.log(feature, '111111')
             if (feature && feature.values_.desc) {
+                ponitPanel.style.display = 'block'
+
                 let obj = feature.values_.desc
                 objdata = {
                     POITYPE: "POINT",
@@ -2269,7 +2392,10 @@
                         <span>鍦板潃锛�</span>
                        <span>${objdata.address}</span>
                     </div>`
-                overlay.setPosition(e.coordinate);
+
+                setTimeout(() => {
+                    overlay.setPosition(e.coordinate);
+                }, 0)
 
                 // store.setPoplayerShowAction(true);
                 // store.setPoplayerListAction(objdata);
@@ -2288,31 +2414,33 @@
     if (state) {
         clickEvent = window.map.on('click', handleClick);
     } else {
-        unByKey(clickEvent)
+        ol.Observable.unByKey(clickEvent)
         clickEvent = null
     }
 }
 
 
 export function flyToPoint(posisitons) {
-    let zoom = window.map.getView().getZoom();
-    if (zoom >= 16) {
-        zoom = 12
-    }
-    let duration = 2000;
+    // let zoom = window.map.getView().getZoom();
+    // if (zoom >= 16) {
+    //     zoom = 12
+    // }
+    // let duration = 2000;
     window.map.getView().animate({
         center: posisitons,
+        zoom: 12,
+        duration: 1500
     })
-    window.map.getView().animate(
-        //鍔ㄧ敾寮�濮嬫椂
-        {
-            zoom: zoom > 16 ? zoom - 0.01 : zoom + 0.01,
-            duration: duration / 2,
-        },
-        //鍔ㄧ敾缁撴潫鏃�
-        {
-            zoom: zoom >= 16 ? 16 : zoom + 4,
-            duration: duration / 2,
-        }
-    );
+    // window.map.getView().animate(
+    //     //鍔ㄧ敾寮�濮嬫椂
+    //     {
+    //         zoom: zoom > 16 ? zoom - 0.01 : zoom + 0.01,
+    //         duration: duration / 2,
+    //     },
+    //     //鍔ㄧ敾缁撴潫鏃�
+    //     {
+    //         zoom: zoom >= 16 ? 16 : zoom + 4,
+    //         duration: duration / 2,
+    //     }
+    // );
 }
\ No newline at end of file

--
Gitblit v1.9.3