From 023e57a24b3ce05de8a8921387538ec7558f8fd3 Mon Sep 17 00:00:00 2001
From: 少年 <1392120328@qq.com>
Date: 星期二, 06 二月 2024 17:27:51 +0800
Subject: [PATCH] 11

---
 src/utils/map2.js |   69 ++++++++++------------------------
 1 files changed, 20 insertions(+), 49 deletions(-)

diff --git a/src/utils/map2.js b/src/utils/map2.js
index 977fba4..f7996ae 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",
@@ -2235,7 +2235,7 @@
 //openlayer 鍦板浘鐐瑰嚮浜嬩欢
 export function setClick(state) {
     let ponitPanel = document.getElementById('ponitPanel');
-    let overlay = new Overlay({
+    let overlay = new ol.Overlay({
         element: ponitPanel,
         autoPan: {
             animation: {
@@ -2244,12 +2244,10 @@
         },
     });
     window.map.addOverlay(overlay);
-
-    // let _clickCallback = callback;
     function handleClick(e) {
         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",
@@ -2258,21 +2256,9 @@
                     lon: obj.lng,
                     lat: obj.lat
                 }
-
-
-                ponitPanel.innerHTML = `
-                       <div class="ponitPanel-name">
-                         <span>鍚嶇О锛�</span>
-                         <span>${objdata.name}</span>
-                       </div>
-                     <div class="ponitPanel-value"> 
-                        <span>鍦板潃锛�</span>
-                       <span>${objdata.address}</span>
-                    </div>`
                 overlay.setPosition(e.coordinate);
-
-                // store.setPoplayerShowAction(true);
-                // store.setPoplayerListAction(objdata);
+                store.setPoplayerShowAction(true);
+                store.setPoplayerListAction(objdata);
                 // if (window.instance) {
                 //     window.instance.$destroy();
                 // }
@@ -2288,31 +2274,16 @@
     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;
     window.map.getView().animate({
         center: posisitons,
+        zoom: 15,
+        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,
-        }
-    );
 }
\ No newline at end of file

--
Gitblit v1.9.3