From add483d13841cf472a9adb5c0cc72454f501fb7c Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期二, 30 四月 2024 16:49:54 +0800 Subject: [PATCH] 新增搜索框 --- src/utils/map/toolbox.js | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/utils/map/toolbox.js b/src/utils/map/toolbox.js index 0baffa5..aa6fb9e 100644 --- a/src/utils/map/toolbox.js +++ b/src/utils/map/toolbox.js @@ -1,28 +1,85 @@ /* eslint-disable no-undef */ -import { map, satellite, controlbar } from './index_old'; +import { map, satellite } from './index_old'; +import { useToolboxStore } from '@/stores/toolbox'; // import '@/lib/jquery-3.5.1.min'; + +const toolboxStore = useToolboxStore(); + +/** + * 鍧愭爣鎷惧彇榧犳爣鐐瑰嚮鍥炶皟浜嬩欢 + */ +var _locationMarker, _locationText; +function _coorPickListener(e) { + var text = `缁忓害: ${e.lnglat.getLng()}<br/>绾害: ${e.lnglat.getLat()}`; + if (_locationMarker == undefined) { + var textM = new AMap.Text({ + style: { + 'font-size': '12px' + }, + text: text, + position: e.lnglat, + offset: new AMap.Pixel(0, 30) + }); + + var marker = new AMap.Marker({ + position: e.lnglat + // icon: icon, + // anchor: 'top-center', + // content: '<i class="fa fa-map-marker fa-2x" style="color: #E6DB06;" aria-hidden="true"></i>' + }); + map.add(marker); + map.add(textM); + _locationMarker = marker; + _locationText = textM; + } else { + _locationMarker.setPosition(e.lnglat); + _locationText.setPosition(e.lnglat); + _locationText.setText(text); + } +} export default { /** * 寮�鍏冲湴鐗╂爣娉� * @param {boolean} value */ - toggleFeatures: (value) => { + toggleFeatures(value) { value ? map.setFeatures(['bg', 'road', 'point', 'building']) : map.setFeatures(['bg', 'road']); + toolboxStore.featuresStatus = value; }, /** * 寮�鍏冲崼鏄熷湴鍥� + * @param {boolean} value */ - toggleSatellite: (value) => { + toggleSatellite(value) { value ? satellite.show() : satellite.hide(); + toolboxStore.satelliteStatus = value; }, /** * 寮�鍏虫帶鍒剁綏鐩� + * @param {boolean} value */ - toggleControlbar: (value) => { + toggleControlbar(value) { // value ? controlbar.show() : controlbar.hide(); value ? $('.amap-controlbar').show() : $('.amap-controlbar').hide(); + toolboxStore.controlbarStatus = value; + }, + + /** + * 寮�鍏冲潗鏍囨嬀鍙� + * @param {boolean} value + */ + toggleCoorPicking(value) { + if (value) { + map.on('click', _coorPickListener); + } else { + map.off('click', _coorPickListener); + map.remove([_locationMarker, _locationText]); + _locationMarker = undefined; + _locationText = undefined; + } + toolboxStore.coorPickStatus = value; } }; -- Gitblit v1.9.3