From 7c4546cc6f84adf52a4aaa61244635615041c178 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期三, 06 三月 2024 18:10:51 +0800 Subject: [PATCH] Merge branch 'master' of http://103.135.160.14:9034/r/PM20221203225_MobileWeb --- src/utils/tool.js | 42 +++++++++++++++--------------------------- 1 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/utils/tool.js b/src/utils/tool.js index bb7973b..d70071b 100644 --- a/src/utils/tool.js +++ b/src/utils/tool.js @@ -119,6 +119,9 @@ //鍔犺浇鍘嗗彶褰卞儚 export function addHistoryLayer(name) { const layerName = name; + if (_GLOBAL.historyLayer) { + window.mapapi.removeLayer(_GLOBAL.historyLayer) + } _GLOBAL.historyLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: `https://skyzt.bda.gov.cn/yzAdapter/Vector/?request=1&year=${layerName}&type=Sate&level={z}&x={x}&y={y}`, @@ -128,41 +131,25 @@ } -//鑾峰彇褰撳墠瀹氫綅 -var _rotate = 90; -var _marker = null; -var points = []; -export function randomPoint() { - let t = 116.505348; - let e = 39.795592; - t += .01 * Math.random(); - e += .01 * Math.random(); - points.push([t, e]); -} - - +//瀹炴椂鑾峰彇瀹氫綅 export function getCurrentPosition() { - // setInterval(() => { - // randomPoint(); - // }, 1000) - - // console.log(points, '鐐逛綅娴嬭瘯') - // _marker = createGPSMarker(points, _rotate); - // window.mapapi.addLayer(_marker) - if (navigator.geolocation) { navigator.geolocation.watchPosition((res) => { let lat = res.coords.latitude; let lon = res.coords.longitude; - _marker = createGPSMarker([lon, lat], _rotate); - window.mapapi.addLayer(_marker) + if (_GLOBAL.GPSMarker) { + window.mapapi.removeLayer(_GLOBAL.GPSMarker) + } + _GLOBAL.GPSMarker = createGPSMarker([lon, lat], _GLOBAL.rotate); + window.mapapi.addLayer(_GLOBAL.GPSMarker) + }); } } - +//鍒涘缓褰撳墠瀹氫綅鐐� export function createGPSMarker(position, rotate) { const GPSMarkerLayer = new ol.layer.Vector({ id: 'LocationPoint', @@ -191,17 +178,18 @@ }; +//鐩戝惉瀹氫綅鐐硅窡闅忔棆杞� export function listenDirection() { window.addEventListener('deviceorientation', function (e) { - if (_marker) { - _rotate = e.alpha * (Math.PI / -180); + if (_GLOBAL.GPSMarker) { + _GLOBAL.rotate = e.alpha * (Math.PI / -180); _marker.setStyle( new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 0.5], anchorOrigin: 'top-left', src: require('@/assets/img/collection/mark.png'), - rotation: _rotate, + rotation: _GLOBAL.rotate, anchorXUnits: "fraction", anchorYUnits: "fraction", scale: 0.5, -- Gitblit v1.9.3