From 626003e9beb59cf711f59f3b48087300070f121e Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期五, 15 三月 2024 09:49:31 +0800 Subject: [PATCH] 优化 --- src/utils/map2.js | 110 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 65 insertions(+), 45 deletions(-) diff --git a/src/utils/map2.js b/src/utils/map2.js index 30f1293..f701baf 100644 --- a/src/utils/map2.js +++ b/src/utils/map2.js @@ -2207,8 +2207,10 @@ //openlayer 鍒涘缓鐐逛綅 window.pointArr = []; export function createPointMarker(position, obj) { + let positions = ol.proj.fromLonLat(position); let startFeature = new ol.Feature({ - geometry: new ol.geom.Point(position), + geometry: new ol.geom.Point(positions), + }); startFeature.setProperties({ desc: obj, @@ -2245,6 +2247,8 @@ //openlayer 鍦板浘鐐瑰嚮浜嬩欢 export function setClick(state) { function handleClick(e) { + let coordinate = ol.proj.toLonLat(e.coordinate) + // console.log(coordinate, '鍦板浘鐐瑰嚮') store.setLayerPanelShow(false); // 鍦熷湴绠$悊 if (store.tdglInfo.flag) { @@ -2253,9 +2257,9 @@ // "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 + "BEApi/cs/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 + "cs/geowinmap_xncs/ds?&lng=" + - e.coordinate[0] + + coordinate[0] + "&lat=" + - e.coordinate[1] + + coordinate[1] + "&geom=true&requesttype=json" ).then(response => { let center = { lon: 0, lat: 0 }; @@ -2264,7 +2268,10 @@ window.tdglLine = null; } var format = new ol.format.WKT(); // 鍒涘缓涓�涓� WKT 瑙f瀽鍣� - var feature = format.readFeature(response.data.geometry); // 瑙f瀽 WKT 骞剁敓鎴愯绱犲璞� + var feature = format.readFeature(response.data.geometry, { + dataProjection: 'EPSG:4326', + featureProjection: 'EPSG:3857' + }); // 瑙f瀽 WKT 骞剁敓鎴愯绱犲璞� // 鍒涘缓涓�涓绱犲浘灞� window.tdglLine = new ol.layer.Vector({ @@ -2369,54 +2376,71 @@ window.mapapi.forEachFeatureAtPixel(e.pixel, function (feature) { console.log(feature.getProperties(), 'aaa'); - //鎼滅储鐨勭偣浣� if (window.pointArr.length > 0) { let obj = feature.getProperties().desc - objdata = { - POITYPE: "POINT", - name: obj.name, - address: obj.address, + if (obj) { + objdata = { + POITYPE: "POINT", + name: obj.name, + address: obj.address, + } } } else { let properties = feature.getProperties().features[0].values_; for (const propertyNames in properties) { if (propertyNames.indexOf("鐩戞帶鍚�") !== -1) { - // objdata = { - // POITYPE: "SPJK", - // name: properties["JK鍚嶇О"]._value, - // type: properties["JK绫诲瀷"]._value, - // function: properties["鍔熻兘"]._value, - // area: properties["鎵�鍦ㄥ尯"]._value, - // number: properties["JK缂栧彿"]._value, - // code: properties["JK鍐呯爜"]._value, - // lon: lon, - // lat: lat, - // } - Message({ - message: '杩炴帴鐘舵�佹煡璇腑', + const infoM = Message({ + message: '璇ョ偣浣嶈棰戠洃鎺ф煡璇腑锛岃绋嶅悗', type: 'info', - offset: 60, + offset: 75, center: true, - duration: 1000, + duration: 0, }); - layerOpen(properties["JK鍚嶇О"], { - width: "100%", - height: "40%", - // offset: [offsetTop + "px", "380px"], - url: "../../static/video/video.html?code=" + properties["JK鍐呯爜"], - fn: { - success: (layero, index) => { - SmartEarthPopupData.layerContainer = layero; - }, - end: () => { + axios + .get( + // 璇锋眰鍦ㄧ嚎鐘舵�� + window.gisBaseUrl + "BEApi/getCameraDetails?cameraIndexCode=" + + properties["JK鍐呯爜"] + ).then(res => { + if (res.data.data.status == 1) { + infoM.close(); + Message({ + message: '瑙嗛鐩戞帶鍦ㄧ嚎涓�', + type: 'success', + offset: 75, + center: true, + duration: 2000, + }); + layerOpen(properties["JK鍚嶇О"], { + width: "100%", + height: "40%", + // offset: [offsetTop + "px", "380px"], + url: "../../static/video/video.html?code=" + properties["JK鍐呯爜"], + fn: { + success: (layero, index) => { + SmartEarthPopupData.layerContainer = layero; + }, + end: () => { - }, - cancel: () => { + }, + cancel: () => { - }, - }, - }); + }, + }, + }); + } else { + infoM.close(); + Message({ + message: '璇ョ偣浣嶈棰戠洃鎺х绾夸腑', + type: 'errer', + offset: 75, + center: true, + duration: 2000, + }); + return + } + }) return } else if (propertyNames.indexOf("閮ㄤ欢鍚嶇О") !== -1) { objdata = { @@ -2456,10 +2480,6 @@ } } - - - - store.setTdglShow(false); store.setTdlgInfo({}); store.setdwShow(true); @@ -2477,8 +2497,8 @@ export function flyToPoint(posisitons) { window.mapapi.getView().animate({ - center: posisitons, - zoom: 15, + center: ol.proj.fromLonLat(posisitons), + zoom: 18, duration: 1500 }) } -- Gitblit v1.9.3