diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e259d096b57bb23158368e7b81cc7d24791b7801f091ad230ed113452000028.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e259d096b57bb23158368e7b81cc7d24791b7801f091ad230ed113452000028.json new file mode 100644 index 00000000..8a328fe4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/0e259d096b57bb23158368e7b81cc7d24791b7801f091ad230ed113452000028.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13509f439bf1768ba7b18fcda1dd772538a56eda5055040bfe27b37deea66757.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13509f439bf1768ba7b18fcda1dd772538a56eda5055040bfe27b37deea66757.json new file mode 100644 index 00000000..73ece5da --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/13509f439bf1768ba7b18fcda1dd772538a56eda5055040bfe27b37deea66757.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/139c3dd3fea57f54ddf247c6eee42be2f54f4763b9c2608253d22cda4791e886.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/139c3dd3fea57f54ddf247c6eee42be2f54f4763b9c2608253d22cda4791e886.json new file mode 100644 index 00000000..c59ab7ee --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/139c3dd3fea57f54ddf247c6eee42be2f54f4763b9c2608253d22cda4791e886.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cb04d489d6d0cdc62bddb4695a38381154751c388a5890ffd0e677ae43f6a8a.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cb04d489d6d0cdc62bddb4695a38381154751c388a5890ffd0e677ae43f6a8a.json new file mode 100644 index 00000000..8f69a563 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/1cb04d489d6d0cdc62bddb4695a38381154751c388a5890ffd0e677ae43f6a8a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 先清除所有图层\n mapInstance.value.clearLayers();\n\n // 添加卫星图层和其他活动图层\n const activeLayers = [layerInstances.value.satellite];\n\n // 添加其他已启用的图层\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加图层到地图\n mapInstance.value.add(activeLayers);\n console.log('已切换到卫星地图');\n break;\n case 'dark':\n // 使用暗黑样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到暗色地图');\n break;\n default:\n // 使用标准样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到标准地图');\n }\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 获取当前启用的图层(辅助函数)\n const getActiveOverlayLayers = () => {\n const layers = [];\n if (!window.AMap) return layers;\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n layers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n layers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n layers.push(layerInstances.value.terrain);\n }\n return layers;\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n // 高德地图API中应该使用setView而不是setViewMode\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setView({\n viewMode: '3D',\n pitch: 45 // 设置俯仰角(3D效果)\n });\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setView({\n viewMode: '2D',\n pitch: 0 // 平面视图\n });\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形等高线图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形等高线图层');\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n console.log('已添加天气信息图层');\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n console.log('已移除天气信息图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","clearLayers","activeLayers","push","terrain","setMapStyle","getActiveOverlayLayers","layers","changeViewMode","setView","getAllOverlays","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/214961394441a266f071a35bf62ae4d17b4303b8b144da46c24b2b72777c5d29.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/214961394441a266f071a35bf62ae4d17b4303b8b144da46c24b2b72777c5d29.json new file mode 100644 index 00000000..9823dcfc --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/214961394441a266f071a35bf62ae4d17b4303b8b144da46c24b2b72777c5d29.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2b9a4f8ce9bae73286a5c2fe517647af49f92eeb7b51e8e796634f4ffce13ec5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2b9a4f8ce9bae73286a5c2fe517647af49f92eeb7b51e8e796634f4ffce13ec5.json new file mode 100644 index 00000000..1f2ade20 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/2b9a4f8ce9bae73286a5c2fe517647af49f92eeb7b51e8e796634f4ffce13ec5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.ControlBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n\n // 添加3D控制条,用于控制3D视图的旋转、倾斜等\n const controlBar = new AMap.ControlBar({\n position: {\n top: '80px',\n right: '10px'\n },\n showZoomBar: false,\n showControlButton: true\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n mapInstance.value.addControl(controlBar);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","controlBar","ControlBar","showZoomBar","showControlButton","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/300db9eac53bc19786dfcf76a9fa570e0d737b74d03631100ba9d6703a184640.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/300db9eac53bc19786dfcf76a9fa570e0d737b74d03631100ba9d6703a184640.json new file mode 100644 index 00000000..d7f09d5e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/300db9eac53bc19786dfcf76a9fa570e0d737b74d03631100ba9d6703a184640.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/3857b2aefee79432ef03796e3a412f8ce24446d9b0562f3375441ae9d3e1e640.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/3857b2aefee79432ef03796e3a412f8ce24446d9b0562f3375441ae9d3e1e640.json new file mode 100644 index 00000000..9499dbf3 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/3857b2aefee79432ef03796e3a412f8ce24446d9b0562f3375441ae9d3e1e640.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.ControlBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n\n // 添加3D控制条,用于控制3D视图的旋转、倾斜等\n const controlBar = new AMap.ControlBar({\n position: {\n top: '80px',\n right: '10px'\n },\n showZoomBar: false,\n showControlButton: true\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n mapInstance.value.addControl(controlBar);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 确保其他已启用的图层在卫星图层之上显示\n updateOverlayLayers();\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 确保其他已启用的图层在暗色地图上正确显示\n updateOverlayLayers();\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 确保其他已启用的图层在标准地图上正确显示\n updateOverlayLayers();\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n console.log('更新图层状态:', overlayLayers.value);\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n }\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n }\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n }\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n\n // 天气图层\n if (overlayLayers.value.includes('weather')) {\n // 天气图层处理逻辑\n console.log('天气图层暂未实现');\n }\n\n // 威胁区域图层\n if (overlayLayers.value.includes('threats')) {\n // 威胁区域图层处理逻辑\n console.log('威胁区域图层暂未实现');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","controlBar","ControlBar","showZoomBar","showControlButton","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","setMapStyle","changeViewMode","setViewMode","setPitch","terrain","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/3d76efe19398e5d7c443448551abe749657b30fc3f56cb366226858c71ec3888.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/3d76efe19398e5d7c443448551abe749657b30fc3f56cb366226858c71ec3888.json new file mode 100644 index 00000000..d40a9180 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/3d76efe19398e5d7c443448551abe749657b30fc3f56cb366226858c71ec3888.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: '3D',\n pitch: 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite();\n }\n mapInstance.value.setLayers([layerInstances.value.satellite, ...getActiveOverlayLayers()]);\n break;\n case 'dark':\n // 使用暗黑样式\n mapInstance.value.setLayers([new window.AMap.TileLayer()]);\n mapInstance.value.setMapStyle('amap://styles/dark');\n updateOverlayLayers(); // 再次应用叠加图层\n break;\n default:\n // 使用标准样式\n mapInstance.value.setLayers([new window.AMap.TileLayer()]);\n mapInstance.value.setMapStyle('amap://styles/normal');\n updateOverlayLayers();\n // 再次应用叠加图层\n }\n };\n\n // 获取当前启用的图层(辅助函数)\n const getActiveOverlayLayers = () => {\n const layers = [];\n if (!window.AMap) return layers;\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n layers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n layers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n layers.push(layerInstances.value.terrain);\n }\n return layers;\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n // 高德地图API中应该使用setView而不是setViewMode\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setView({\n viewMode: '3D',\n pitch: 45 // 设置俯仰角(3D效果)\n });\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setView({\n viewMode: '2D',\n pitch: 0 // 平面视图\n });\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic();\n mapInstance.value.add(layerInstances.value.traffic);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer();\n mapInstance.value.add(layerInstances.value.buildings);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n // 天气图层是一个动态图层,需要使用第三方服务或自定义实现\n // 这里使用一个模拟的天气图层进行演示\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层 - 这里使用彩云天气API的实例\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","setLayers","getActiveOverlayLayers","setMapStyle","layers","push","terrain","changeViewMode","setView","getLayers","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/4a584d6c5fe243437953490d080b5813eabef1d046f7cdd2e8c28804abdc58df.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/4a584d6c5fe243437953490d080b5813eabef1d046f7cdd2e8c28804abdc58df.json new file mode 100644 index 00000000..c55e9a08 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/4a584d6c5fe243437953490d080b5813eabef1d046f7cdd2e8c28804abdc58df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":";;EACOA,KAAK,EAAC;AAAsB;;EAE1BC,EAAE,EAAC,WAAW;EAACD,KAAK,EAAC;;;;EACDA,KAAK,EAAC;;;EAM1BA,KAAK,EAAC;AAAc;;EAEhBA,KAAK,EAAC;AAAc;;EASpBA,KAAK,EAAC;AAAc;;EAQpBA,KAAK,EAAC;AAAc;;;;;;;;uBA5B/BE,mBAAA,CAwCM,OAxCNC,UAwCM,GAvCJC,mBAAA,UAAa,EACbC,mBAAA,CAIM,OAJNC,UAIM,G,CAHQC,MAAA,CAAAC,SAAS,I,cAArBN,mBAAA,CAEM,OAFNO,UAEM,GADJC,YAAA,CAA2BC,kBAAA;sBAAlB,MAAQC,MAAA,QAAAA,MAAA,O,iBAAR,UAAQ,E;;;+CAIrBR,mBAAA,YAAe,EACfC,mBAAA,CA8BM,OA9BNQ,UA8BM,GA7BJH,YAAA,CA4BUI,kBAAA;IA5BDd,KAAK,EAAC,kBAAkB;IAACe,IAAI,EAAC;;sBACrC,MAOM,CAPNV,mBAAA,CAOM,OAPNW,UAOM,G,0BANJX,mBAAA,CAAa,YAAT,MAAI,sBACRK,YAAA,CAIiBO,yBAAA;kBAJQV,MAAA,CAAAW,eAAe;iEAAfX,MAAA,CAAAW,eAAe,GAAAC,MAAA;MAAGC,QAAM,EAAEb,MAAA,CAAAc,cAAc;MAAEN,IAAI,EAAC;;wBACtE,MAAsD,CAAtDL,YAAA,CAAsDY,0BAAA;QAArCC,KAAK,EAAC;MAAQ;0BAAC,MAAIX,MAAA,QAAAA,MAAA,O,iBAAJ,MAAI,E;;;UACpCF,YAAA,CAAyDY,0BAAA;QAAxCC,KAAK,EAAC;MAAW;0BAAC,MAAIX,MAAA,QAAAA,MAAA,O,iBAAJ,MAAI,E;;;UACvCF,YAAA,CAAoDY,0BAAA;QAAnCC,KAAK,EAAC;MAAM;0BAAC,MAAIX,MAAA,QAAAA,MAAA,O,iBAAJ,MAAI,E;;;;;qDAItCP,mBAAA,CAMM,OANNmB,UAMM,G,4BALJnB,mBAAA,CAAa,YAAT,MAAI,sBACRK,YAAA,CAGiBO,yBAAA;kBAHQV,MAAA,CAAAkB,QAAQ;iEAARlB,MAAA,CAAAkB,QAAQ,GAAAN,MAAA;MAAGC,QAAM,EAAEb,MAAA,CAAAmB,cAAc;MAAEX,IAAI,EAAC;;wBAC/D,MAAkD,CAAlDL,YAAA,CAAkDY,0BAAA;QAAjCC,KAAK,EAAC;MAAI;0BAAC,MAAIX,MAAA,QAAAA,MAAA,O,iBAAJ,MAAI,E;;;UAChCF,YAAA,CAAkDY,0BAAA;QAAjCC,KAAK,EAAC;MAAI;0BAAC,MAAIX,MAAA,QAAAA,MAAA,O,iBAAJ,MAAI,E;;;;;qDAIpCP,mBAAA,CASM,OATNsB,UASM,G,4BARJtB,mBAAA,CAAa,YAAT,MAAI,sBACRK,YAAA,CAMoBkB,4BAAA;kBANQrB,MAAA,CAAAsB,aAAa;iEAAbtB,MAAA,CAAAsB,aAAa,GAAAV,MAAA;MAAGC,QAAM,EAAEb,MAAA,CAAAuB;;wBAClD,MAA+C,CAA/CpB,YAAA,CAA+CqB,sBAAA;QAAlCR,KAAK,EAAC;MAAS;0BAAC,MAAIX,MAAA,SAAAA,MAAA,Q,iBAAJ,MAAI,E;;;UACjCF,YAAA,CAAiDqB,sBAAA;QAApCR,KAAK,EAAC;MAAW;0BAAC,MAAIX,MAAA,SAAAA,MAAA,Q,iBAAJ,MAAI,E;;;UACnCF,YAAA,CAAgDqB,sBAAA;QAAnCR,KAAK,EAAC;MAAS;0BAAC,MAAKX,MAAA,SAAAA,MAAA,Q,iBAAL,OAAK,E;;;UAClCF,YAAA,CAA+CqB,sBAAA;QAAlCR,KAAK,EAAC;MAAS;0BAAC,MAAIX,MAAA,SAAAA,MAAA,Q,iBAAJ,MAAI,E;;;UACjCF,YAAA,CAA+CqB,sBAAA;QAAlCR,KAAK,EAAC;MAAS;0BAAC,MAAIX,MAAA,SAAAA,MAAA,Q,iBAAJ,MAAI,E","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/4d3cd68a11f7a8299663b803fc452d2af0f9c2f45d3227f9f89a852e7bddfbc0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/4d3cd68a11f7a8299663b803fc452d2af0f9c2f45d3227f9f89a852e7bddfbc0.json new file mode 100644 index 00000000..907727a9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/4d3cd68a11f7a8299663b803fc452d2af0f9c2f45d3227f9f89a852e7bddfbc0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.ControlBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n\n // 添加3D控制条,用于控制3D视图的旋转、倾斜等\n const controlBar = new AMap.ControlBar({\n position: {\n top: '80px',\n right: '10px'\n },\n showZoomBar: false,\n showControlButton: true\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n mapInstance.value.addControl(controlBar);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 确保其他已启用的图层在卫星图层之上显示\n updateOverlayLayers();\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 确保其他已启用的图层在暗色地图上正确显示\n updateOverlayLayers();\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 确保其他已启用的图层在标准地图上正确显示\n updateOverlayLayers();\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n console.log('更新图层状态:', overlayLayers.value);\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n }\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n }\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n }\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n\n // 天气图层\n if (overlayLayers.value.includes('weather')) {\n // 显示天气信息\n showWeatherInfo();\n } else {\n // 隐藏天气信息\n hideWeatherInfo();\n }\n\n // 威胁区域图层\n if (overlayLayers.value.includes('threats')) {\n // 威胁区域图层处理逻辑\n console.log('威胁区域图层暂未实现');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 显示天气信息\n const showWeatherInfo = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 如果已有天气信息标记,先清除\n if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) {\n layerInstances.value.weatherMarkers.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n }\n\n // 初始化天气标记数组\n layerInstances.value.weatherMarkers = [];\n\n // 创建天气查询服务(如果不存在)\n if (!layerInstances.value.weatherService) {\n layerInstances.value.weatherService = new window.AMap.Weather();\n }\n\n // 主要城市天气信息\n const cities = [{\n name: '北京',\n position: [116.397428, 39.90923]\n }, {\n name: '上海',\n position: [121.473667, 31.230525]\n }, {\n name: '广州',\n position: [113.264385, 23.129112]\n }, {\n name: '深圳',\n position: [114.057868, 22.543099]\n }, {\n name: '成都',\n position: [104.065735, 30.659462]\n }];\n\n // 查询每个城市的天气\n cities.forEach(city => {\n layerInstances.value.weatherService.getLive(city.name, (err, data) => {\n if (!err && data) {\n // 创建天气信息内容\n const weatherInfo = `\n
\n

${city.name}天气

\n

天气: ${data.weather}

\n

温度: ${data.temperature}°C

\n

风向: ${data.windDirection}

\n

风力: ${data.windPower}

\n

湿度: ${data.humidity}%

\n
\n `;\n\n // 创建天气图标\n const weatherIcon = getWeatherIcon(data.weather);\n\n // 创建标记\n const marker = new window.AMap.Marker({\n position: city.position,\n content: `
${weatherIcon}
`,\n offset: new window.AMap.Pixel(-15, -15),\n zIndex: 120,\n title: `${city.name}天气: ${data.weather}, ${data.temperature}°C`\n });\n\n // 创建信息窗体\n const infoWindow = new window.AMap.InfoWindow({\n content: weatherInfo,\n offset: new window.AMap.Pixel(0, -30)\n });\n\n // 绑定点击事件\n marker.on('click', () => {\n infoWindow.open(mapInstance.value, city.position);\n });\n\n // 添加到地图\n mapInstance.value.add(marker);\n\n // 保存标记引用\n layerInstances.value.weatherMarkers.push(marker);\n }\n });\n });\n console.log('已添加天气信息图层');\n } catch (error) {\n console.error('天气图层添加失败:', error);\n }\n };\n\n // 隐藏天气信息\n const hideWeatherInfo = () => {\n if (!mapInstance.value) return;\n\n // 移除所有天气标记\n if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) {\n layerInstances.value.weatherMarkers.forEach(marker => {\n mapInstance.value.remove(marker);\n });\n layerInstances.value.weatherMarkers = [];\n console.log('已移除天气信息图层');\n }\n };\n\n // 获取天气图标\n const getWeatherIcon = weather => {\n // 根据天气状况返回不同的图标\n const icons = {\n '晴': '',\n '多云': '',\n '阴': '',\n '雨': '',\n '雪': ''\n };\n\n // 匹配天气关键词\n for (const key in icons) {\n if (weather.includes(key)) {\n return icons[key];\n }\n }\n\n // 默认图标\n return '天气';\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","controlBar","ControlBar","showZoomBar","showControlButton","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","setMapStyle","changeViewMode","setViewMode","setPitch","terrain","getTileUrl","x","y","z","showWeatherInfo","hideWeatherInfo","weatherMarkers","length","cities","city","weatherInfo","temperature","windDirection","windPower","humidity","weatherIcon","getWeatherIcon","content","offset","Pixel","title","infoWindow","InfoWindow","open","push","icons","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/5542d2914c881781fc50de635248adbf7fe559c26fd13df9c63f8e2c22352d2d.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/5542d2914c881781fc50de635248adbf7fe559c26fd13df9c63f8e2c22352d2d.json new file mode 100644 index 00000000..15dac11f --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/5542d2914c881781fc50de635248adbf7fe559c26fd13df9c63f8e2c22352d2d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/659664fd07b57161dbc200f11ff0c3134cd9c5387417fbe30eb346b80a0f8329.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/659664fd07b57161dbc200f11ff0c3134cd9c5387417fbe30eb346b80a0f8329.json new file mode 100644 index 00000000..d71d7a13 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/659664fd07b57161dbc200f11ff0c3134cd9c5387417fbe30eb346b80a0f8329.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/6d03be48e6d5a1bc0d0c827e76c2cc3396715b07b51f5f8655e189abb450f32a.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/6d03be48e6d5a1bc0d0c827e76c2cc3396715b07b51f5f8655e189abb450f32a.json new file mode 100644 index 00000000..c1b40e69 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/6d03be48e6d5a1bc0d0c827e76c2cc3396715b07b51f5f8655e189abb450f32a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.ControlBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n\n // 添加3D控制条,用于控制3D视图的旋转、倾斜等\n const controlBar = new AMap.ControlBar({\n position: {\n top: '80px',\n right: '10px'\n },\n showZoomBar: false,\n showControlButton: true\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n mapInstance.value.addControl(controlBar);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n console.log('更新图层状态:', overlayLayers.value);\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n }\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n }\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n }\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n\n // 天气图层\n if (overlayLayers.value.includes('weather')) {\n // 天气图层处理逻辑\n console.log('天气图层暂未实现');\n }\n\n // 威胁区域图层\n if (overlayLayers.value.includes('threats')) {\n // 威胁区域图层处理逻辑\n console.log('威胁区域图层暂未实现');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","controlBar","ControlBar","showZoomBar","showControlButton","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/7196fd82710facf1297c0f84afff211f660f30f0cd516544023a6cbddf620572.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/7196fd82710facf1297c0f84afff211f660f30f0cd516544023a6cbddf620572.json new file mode 100644 index 00000000..3649a464 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/7196fd82710facf1297c0f84afff211f660f30f0cd516544023a6cbddf620572.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/768172c458bfbae2290fce72567aea6fdf767513bd2df544d7d19f192292c66c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/768172c458bfbae2290fce72567aea6fdf767513bd2df544d7d19f192292c66c.json new file mode 100644 index 00000000..85ebcbb4 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/768172c458bfbae2290fce72567aea6fdf767513bd2df544d7d19f192292c66c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/85ee4e481537ca87066e60790cf728aacdc79983d86ad50447217ea1a197ef31.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/85ee4e481537ca87066e60790cf728aacdc79983d86ad50447217ea1a197ef31.json new file mode 100644 index 00000000..b6a45287 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/85ee4e481537ca87066e60790cf728aacdc79983d86ad50447217ea1a197ef31.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/86c5e3e0ede4acf4222765af65d60a99b27e8c7cc776583b6978ec39a70f4a95.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/86c5e3e0ede4acf4222765af65d60a99b27e8c7cc776583b6978ec39a70f4a95.json new file mode 100644 index 00000000..5cb5be3a --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/86c5e3e0ede4acf4222765af65d60a99b27e8c7cc776583b6978ec39a70f4a95.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n\n // 添加3D控制条,用于控制3D视图的旋转、倾斜等\n const controlBar = new AMap.ControlBar({\n position: {\n top: '80px',\n right: '10px'\n },\n showZoomBar: false,\n showControlButton: true\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n mapInstance.value.addControl(controlBar);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","controlBar","ControlBar","showZoomBar","showControlButton","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/8b7fc7dc15727848a98f172eefaca303ac971c113af6cd298785dd3d352af7aa.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/8b7fc7dc15727848a98f172eefaca303ac971c113af6cd298785dd3d352af7aa.json new file mode 100644 index 00000000..91daf38d --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/8b7fc7dc15727848a98f172eefaca303ac971c113af6cd298785dd3d352af7aa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 先清除所有图层\n mapInstance.value.clearLayers();\n\n // 添加卫星图层和其他活动图层\n const activeLayers = [layerInstances.value.satellite];\n\n // 添加其他已启用的图层\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加图层到地图\n mapInstance.value.add(activeLayers);\n console.log('已切换到卫星地图');\n break;\n case 'dark':\n // 使用暗黑样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到暗色地图');\n break;\n default:\n // 使用标准样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到标准地图');\n }\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n // 高德地图API中应该使用setView而不是setViewMode\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setView({\n viewMode: '3D',\n pitch: 45 // 设置俯仰角(3D效果)\n });\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setView({\n viewMode: '2D',\n pitch: 0 // 平面视图\n });\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形等高线图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形等高线图层');\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n console.log('已添加天气信息图层');\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n console.log('已移除天气信息图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","clearLayers","activeLayers","push","terrain","setMapStyle","changeViewMode","setView","getAllOverlays","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/98530f35fb0cb5ba6cfed26f9666cd02426d8b6d392bf6f9d0464f7baf1e030b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/98530f35fb0cb5ba6cfed26f9666cd02426d8b6d392bf6f9d0464f7baf1e030b.json new file mode 100644 index 00000000..212c4d42 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/98530f35fb0cb5ba6cfed26f9666cd02426d8b6d392bf6f9d0464f7baf1e030b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 先清除所有图层\n mapInstance.value.clearLayers();\n\n // 添加卫星图层和其他活动图层\n const activeLayers = [layerInstances.value.satellite];\n\n // 添加其他已启用的图层\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加图层到地图\n mapInstance.value.add(activeLayers);\n console.log('已切换到卫星地图');\n break;\n case 'dark':\n // 使用暗黑样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到暗色地图');\n break;\n default:\n // 使用标准样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到标准地图');\n }\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 获取当前启用的图层(辅助函数)\n const getActiveOverlayLayers = () => {\n const layers = [];\n if (!window.AMap) return layers;\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n layers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n layers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n layers.push(layerInstances.value.terrain);\n }\n return layers;\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n // 高德地图API中应该使用setView而不是setViewMode\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setView({\n viewMode: '3D',\n pitch: 45 // 设置俯仰角(3D效果)\n });\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setView({\n viewMode: '2D',\n pitch: 0 // 平面视图\n });\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic();\n mapInstance.value.add(layerInstances.value.traffic);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer();\n mapInstance.value.add(layerInstances.value.buildings);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n // 天气图层是一个动态图层,需要使用第三方服务或自定义实现\n // 这里使用一个模拟的天气图层进行演示\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层 - 这里使用彩云天气API的实例\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","clearLayers","activeLayers","push","terrain","setMapStyle","getActiveOverlayLayers","layers","changeViewMode","setView","getLayers","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/af152ab17510125b7269498f095614471937d613d7f71f9491fc2d3ab6623ff5.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/af152ab17510125b7269498f095614471937d613d7f71f9491fc2d3ab6623ff5.json new file mode 100644 index 00000000..6414e0f9 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/af152ab17510125b7269498f095614471937d613d7f71f9491fc2d3ab6623ff5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/bec2c9e0e64587e4e28defa7b07ec9213a7f4617cd81dda1db372cecdbb13b7c.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/bec2c9e0e64587e4e28defa7b07ec9213a7f4617cd81dda1db372cecdbb13b7c.json new file mode 100644 index 00000000..7224617e --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/bec2c9e0e64587e4e28defa7b07ec9213a7f4617cd81dda1db372cecdbb13b7c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 先清除所有图层\n mapInstance.value.clearLayers();\n\n // 添加卫星图层和其他活动图层\n const activeLayers = [layerInstances.value.satellite];\n\n // 添加其他已启用的图层\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加图层到地图\n mapInstance.value.add(activeLayers);\n console.log('已切换到卫星地图');\n break;\n case 'dark':\n // 使用暗黑样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/dark');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到暗色地图');\n break;\n default:\n // 使用标准样式\n mapInstance.value.clearLayers();\n mapInstance.value.setMapStyle('amap://styles/normal');\n\n // 重新添加活动图层\n updateOverlayLayers();\n console.log('已切换到标准地图');\n }\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形等高线图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形等高线图层');\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n console.log('已添加天气信息图层');\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n console.log('已移除天气信息图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","clearLayers","activeLayers","push","terrain","setMapStyle","changeViewMode","setViewMode","setPitch","getAllOverlays","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/c715aa8961c418e50e191da3c4be2ceaa4298daad4400e22c4a2239177bcd8b7.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/c715aa8961c418e50e191da3c4be2ceaa4298daad4400e22c4a2239177bcd8b7.json new file mode 100644 index 00000000..f6632c33 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/c715aa8961c418e50e191da3c4be2ceaa4298daad4400e22c4a2239177bcd8b7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.Buildings', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","Buildings","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/d1d0c353783ca3d52b6f9ef17612aacdb69f89b978800d0b18471c281d950732.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/d1d0c353783ca3d52b6f9ef17612aacdb69f89b978800d0b18471c281d950732.json new file mode 100644 index 00000000..01bc0e55 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/d1d0c353783ca3d52b6f9ef17612aacdb69f89b978800d0b18471c281d950732.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/dd877892127b4340454c091025c63ce9281cf349f0f94422fc6a99d9e3bb7d9a.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/dd877892127b4340454c091025c63ce9281cf349f0f94422fc6a99d9e3bb7d9a.json new file mode 100644 index 00000000..60df8cd6 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/dd877892127b4340454c091025c63ce9281cf349f0f94422fc6a99d9e3bb7d9a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/e13ed3b487a1db77b2a58d7487ee610363f7a1ffcf9a273dfa3d1549a689ffc0.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/e13ed3b487a1db77b2a58d7487ee610363f7a1ffcf9a273dfa3d1549a689ffc0.json new file mode 100644 index 00000000..047cb053 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/e13ed3b487a1db77b2a58d7487ee610363f7a1ffcf9a273dfa3d1549a689ffc0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.Buildings({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 等高线图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 8,\n getTileUrl: function (x, y, z) {\n return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形图层');\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","Buildings","getTileUrl","x","y","z","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/e226a6e12a575947c2a5a3696f0943733a8578556fe161a310579376728ecc98.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/e226a6e12a575947c2a5a3696f0943733a8578556fe161a310579376728ecc98.json new file mode 100644 index 00000000..afffa646 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/e226a6e12a575947c2a5a3696f0943733a8578556fe161a310579376728ecc98.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite();\n }\n mapInstance.value.setLayers([layerInstances.value.satellite, ...getActiveOverlayLayers()]);\n break;\n case 'dark':\n // 使用暗黑样式\n mapInstance.value.setLayers([new window.AMap.TileLayer()]);\n mapInstance.value.setMapStyle('amap://styles/dark');\n updateOverlayLayers(); // 再次应用叠加图层\n break;\n default:\n // 使用标准样式\n mapInstance.value.setLayers([new window.AMap.TileLayer()]);\n mapInstance.value.setMapStyle('amap://styles/normal');\n updateOverlayLayers();\n // 再次应用叠加图层\n }\n };\n\n // 获取当前启用的图层(辅助函数)\n const getActiveOverlayLayers = () => {\n const layers = [];\n if (!window.AMap) return layers;\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n layers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n layers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n layers.push(layerInstances.value.terrain);\n }\n return layers;\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n // 高德地图API中应该使用setView而不是setViewMode\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setView({\n viewMode: '3D',\n pitch: 45 // 设置俯仰角(3D效果)\n });\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setView({\n viewMode: '2D',\n pitch: 0 // 平面视图\n });\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic();\n mapInstance.value.add(layerInstances.value.traffic);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer();\n mapInstance.value.add(layerInstances.value.buildings);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n // 天气图层是一个动态图层,需要使用第三方服务或自定义实现\n // 这里使用一个模拟的天气图层进行演示\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层 - 这里使用彩云天气API的实例\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getLayers().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","setLayers","getActiveOverlayLayers","setMapStyle","layers","push","terrain","changeViewMode","setView","getLayers","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"AA6CA,SAASA,GAAG,EAAEC,SAAS,EAAEC,WAAW,EAAEC,OAAM,QAAS,KAAI;AACzD,SAASC,QAAO,QAAS,MAAK;AAC9B,SAASC,SAAQ,QAAS,cAAa;AACvC,OAAOC,UAAS,MAAO,yBAAwB;AAE/C,eAAe;EACbC,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE,SAAS;MAAE;MACpBC,SAAS,EAAEC,KAAI,IAAK,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAACC,QAAQ,CAACD,KAAK;IAC9E;EACF,CAAC;EACDE,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;EAClCC,KAAKA,CAACT,KAAK,EAAE;IAAEU;EAAK,CAAC,EAAE;IACrB,MAAMC,KAAI,GAAIf,QAAQ,CAAC;IACvB,MAAMgB,WAAU,GAAIpB,GAAG,CAAC,IAAI;IAC5B,MAAMqB,SAAQ,GAAIrB,GAAG,CAAC,KAAK;IAC3B,MAAMsB,OAAM,GAAItB,GAAG,CAAC,CAAC,CAAC;IACtB,MAAMuB,QAAO,GAAIvB,GAAG,CAAC,IAAI;IACzB,MAAMwB,eAAc,GAAIxB,GAAG,CAAC,QAAQ;IACpC,MAAMyB,aAAY,GAAIzB,GAAG,CAAC,CAAC,WAAW,CAAC;IACvC,MAAM0B,cAAa,GAAI1B,GAAG,CAAC,CAAC,CAAC;IAE7B,MAAM2B,gBAAe,GAAKC,GAAG,IAAK;MAChC,IAAI;QACF,OAAOC,IAAI,CAACC,QAAQ,CAACC,kBAAkB,CAACH,GAAG,CAAC,CAAC;MAC/C,EAAE,OAAOI,KAAK,EAAE;QACdC,OAAO,CAACC,IAAI,CAAC,aAAa,EAAEF,KAAK;QACjC,OAAOH,IAAI,CAACD,GAAG;MACjB;IACF;;IAEA;IACA,MAAMO,SAAQ,GAAIA,CAAA,KAAM;MACtB;MACA,OAAO,kCAAiC;IAC1C;IAEA,MAAMC,OAAM,GAAI,MAAAA,CAAA,KAAY;MAC1B,MAAMC,SAAQ,GAAIC,QAAQ,CAACC,cAAc,CAAC,WAAW;MACrD,IAAI,CAACF,SAAS,EAAE;QACdJ,OAAO,CAACD,KAAK,CAAC,SAAS;QACvB3B,SAAS,CAAC2B,KAAK,CAAC,SAAS;QACzB;MACF;MAEA,IAAI;QACFC,OAAO,CAACO,GAAG,CAAC,aAAa;;QAEzB;QACA,MAAMC,IAAG,GAAI,MAAMnC,UAAU,CAACoC,IAAI,CAAC;UACjCC,GAAG,EAAER,SAAS,CAAC,CAAC;UAChBS,OAAO,EAAE,KAAK;UACdC,OAAO,EAAE,CACP,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAa;QAEjB,CAAC;QAEDZ,OAAO,CAACO,GAAG,CAAC,eAAe;;QAE3B;QACApB,WAAW,CAACN,KAAI,GAAI,IAAI2B,IAAI,CAACK,GAAG,CAAC,WAAW,EAAE;UAC5CC,IAAI,EAAE,EAAE;UACRC,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;UAC9BzB,QAAQ,EAAEA,QAAQ,CAACT,KAAK;UACxBmC,KAAK,EAAE1B,QAAQ,CAACT,KAAI,KAAM,IAAG,GAAI,EAAC,GAAI,CAAC;UACvCoC,QAAQ,EAAE,CAAC;UACXC,QAAQ,EAAE,sBAAsB;UAChCC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;UAC7CC,YAAY,EAAE,IAAI;UAClBC,UAAU,EAAE,IAAI;UAChBC,UAAU,EAAE,IAAI;UAChBC,eAAe,EAAE,IAAI;UACrBC,cAAc,EAAE,IAAI;UACpBC,SAAS,EAAE,IAAI;UACfC,WAAW,EAAE,IAAI;UACjBC,SAAS,EAAE;QACb,CAAC;QAED3B,OAAO,CAACO,GAAG,CAAC,UAAU;;QAEtB;QACA,MAAMqB,OAAM,GAAI,IAAIpB,IAAI,CAACqB,OAAO,CAAC;UAC/BC,QAAQ,EAAE;YACRC,GAAG,EAAE,MAAM;YACXC,KAAK,EAAE;UACT;QACF,CAAC;QAED,MAAMC,KAAI,GAAI,IAAIzB,IAAI,CAAC0B,KAAK,CAAC;UAC3BJ,QAAQ,EAAE;YACRK,MAAM,EAAE,MAAM;YACdH,KAAK,EAAE;UACT;QACF,CAAC;QAED7C,WAAW,CAACN,KAAK,CAACuD,UAAU,CAACR,OAAO;QACpCzC,WAAW,CAACN,KAAK,CAACuD,UAAU,CAACH,KAAK;;QAElC;QACA9C,WAAW,CAACN,KAAK,CAACwD,EAAE,CAAC,OAAO,EAAGC,CAAC,IAAK;UACnCrD,IAAI,CAAC,WAAW,EAAEqD,CAAC;QACrB,CAAC;QAEDnD,WAAW,CAACN,KAAK,CAACwD,EAAE,CAAC,UAAU,EAAE,MAAM;UACrCrC,OAAO,CAACO,GAAG,CAAC,QAAQ;UACpBnB,SAAS,CAACP,KAAI,GAAI,IAAG;UACrBI,IAAI,CAAC,YAAY,EAAEE,WAAW,CAACN,KAAK;UAEpC,IAAI;YACF;YACA;YACAY,cAAc,CAACZ,KAAK,CAAC0D,OAAM,GAAI,IAAIC,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAACC,OAAO,CAAC;cAC/DC,MAAM,EAAE,EAAE;cACVC,OAAO,EAAE;YACX,CAAC,CAAC;;YAEF;YACAnD,cAAc,CAACZ,KAAK,CAACgE,SAAQ,GAAI,IAAIL,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAACK,SAAS,CAAC;cACnEH,MAAM,EAAE;YACV,CAAC,CAAC;;YAEF;YACAlD,cAAc,CAACZ,KAAK,CAACkE,SAAQ,GAAI,IAAIP,MAAM,CAAChC,IAAI,CAACwC,aAAa,CAAC;cAC7DL,MAAM,EAAE,EAAE;cACVM,YAAY,EAAE3D,QAAQ,CAACT,KAAI,KAAM,IAAG,GAAI,IAAI;YAC9C,CAAC,CAAC;;YAEF;YACAqE,mBAAmB,CAAC;;YAEpB;YACA,IAAI;cACF;cACA,MAAMC,OAAM,GAAI,IAAIX,MAAM,CAAChC,IAAI,CAAC4C,OAAO,CAAC,CAAC;cACzC3D,cAAc,CAACZ,KAAK,CAACwE,cAAa,GAAIF,OAAO;;cAE7C;cACAA,OAAO,CAACG,OAAO,CAAC,KAAK,EAAE,UAASC,GAAG,EAAEC,IAAI,EAAE;gBACzC,IAAI,CAACD,GAAG,EAAE;kBACRvD,OAAO,CAACO,GAAG,CAAC,YAAY,EAAEiD,IAAI,CAAC;gBACjC;cACF,CAAC,CAAC;YACJ,EAAE,OAAOC,YAAY,EAAE;cACrBzD,OAAO,CAACC,IAAI,CAAC,YAAY,EAAEwD,YAAY,CAAC;YAC1C;UACF,EAAE,OAAOC,UAAU,EAAE;YACnB1D,OAAO,CAACD,KAAK,CAAC,UAAU,EAAE2D,UAAU,CAAC;UACvC;;UAEA;UACAC,WAAW,CAAC;QACd,CAAC;MAEH,EAAE,OAAO5D,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,SAAS,EAAEA,KAAK;QAC9B3B,SAAS,CAAC2B,KAAK,CAAC,WAAWA,KAAK,CAAC6D,OAAO,EAAE;MAC5C;IACF;;IAEA;IACA,MAAMD,WAAU,GAAI,MAAAA,CAAA,KAAY;MAC9B,IAAI;QACF3D,OAAO,CAACO,GAAG,CAAC,YAAY;QACxB,MAAMrB,KAAK,CAAC2E,QAAQ,CAAC,aAAa;;QAElC;QACA7D,OAAO,CAACO,GAAG,CAAC,UAAU,EAAErB,KAAK,CAAC4E,KAAK;;QAEnC;QACA,MAAMC,MAAK,GAAI7E,KAAK,CAAC4E,KAAK,CAACC,MAAK;QAChC/D,OAAO,CAACO,GAAG,CAAC,UAAU,EAAEwD,MAAM;QAE9B,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;UACzBG,gBAAgB,CAAC;QACnB,OAAO;UACLlE,OAAO,CAACC,IAAI,CAAC,mBAAmB;UAChC,MAAMkE,gBAAe,GAAIjF,KAAK,CAAC4E,KAAK,CAACC,MAAM,EAAEK,IAAG;UAChDpE,OAAO,CAACO,GAAG,CAAC,UAAU,EAAE4D,gBAAgB;UAExC,IAAIH,KAAK,CAACC,OAAO,CAACE,gBAAgB,CAAC,EAAE;YACnC;YACAjF,KAAK,CAACmF,MAAM,CAAC,YAAY,EAAEF,gBAAgB;YAC3CD,gBAAgB,CAAC;UACnB;QACF;MACF,EAAE,OAAOnE,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,YAAY,EAAEA,KAAK;MACnC;IACF;;IAEA;IACA,MAAMmE,gBAAe,GAAIA,CAAA,KAAM;MAC7B,IAAI,CAAC/E,WAAW,CAACN,KAAI,IAAK,CAAC2D,MAAM,CAAChC,IAAI,EAAE;;MAExC;MACA,MAAMuD,MAAK,GAAI7E,KAAK,CAAC4E,KAAK,CAACC,MAAK,IAAK,EAAC;;MAEtC;MACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;QAC1B/D,OAAO,CAACC,IAAI,CAAC,cAAc,EAAE8D,MAAM;QACnC,OAAK,CAAE;MACT;MAEA/D,OAAO,CAACO,GAAG,CAAC,QAAQ,EAAEwD,MAAM;;MAE5B;MACAA,MAAM,CAACO,OAAO,CAACC,KAAI,IAAK;QACtB,IAAIA,KAAI,IAAKA,KAAK,CAACC,QAAO,IAAKD,KAAK,CAACE,SAAS,EAAE;UAC9CC,cAAc,CAACH,KAAK;QACtB;MACF,CAAC;IACH;;IAEA;IACA,MAAMG,cAAa,GAAKH,KAAK,IAAK;MAChC,IAAI,CAACpF,WAAW,CAACN,KAAI,IAAK,CAAC2D,MAAM,CAAChC,IAAI,EAAE;;MAExC;MACA,IAAInB,OAAO,CAACR,KAAK,CAAC0F,KAAK,CAACI,EAAE,CAAC,EAAE;QAC3BxF,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAACvF,OAAO,CAACR,KAAK,CAAC0F,KAAK,CAACI,EAAE,CAAC;MAClD;;MAEA;MACA,IAAIE,WAAU,GAAI,SAAQ,EAAE;MAC5B,IAAIN,KAAK,CAACO,MAAK,KAAM,MAAM,EAAE;QAC3BD,WAAU,GAAI,SAAQ,EAAE;MAC1B,OAAO,IAAIN,KAAK,CAACO,MAAK,KAAM,OAAO,EAAE;QACnCD,WAAU,GAAI,SAAQ,EAAE;MAC1B;;MAEA;MACA,MAAME,MAAK,GAAI,IAAIvC,MAAM,CAAChC,IAAI,CAACwE,MAAM,CAAC;QACpClD,QAAQ,EAAE,CAACyC,KAAK,CAACE,SAAS,EAAEF,KAAK,CAACC,QAAQ,CAAC;QAC3CS,IAAI,EAAE,IAAIzC,MAAM,CAAChC,IAAI,CAAC0E,IAAI,CAAC;UACzBC,IAAI,EAAE,IAAI3C,MAAM,CAAChC,IAAI,CAAC4E,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;UAClCC,KAAK,EAAE,4BAA2B,GAAI3F,gBAAgB,CAAC;;qDAEZmF,WAAW;qFACqBN,KAAK,CAACI,EAAE;;WAElF,CAAC;UACFW,SAAS,EAAE,IAAI9C,MAAM,CAAChC,IAAI,CAAC4E,IAAI,CAAC,EAAE,EAAE,EAAE;QACxC,CAAC,CAAC;QACFG,MAAM,EAAE,QAAQ;QAChB5C,MAAM,EAAE,GAAG;QACX6C,KAAK,EAAEjB,KAAK,CAACkB,OAAM,IAAK;MAC1B,CAAC;;MAED;MACApG,OAAO,CAACR,KAAK,CAAC0F,KAAK,CAACI,EAAE,IAAII,MAAK;MAC/B5F,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACX,MAAM;IAC9B;;IAEA;IACA,MAAMY,cAAa,GAAKC,KAAK,IAAK;MAChC,IAAI,CAACzG,WAAW,CAACN,KAAK,EAAE;MAExB,QAAQ+G,KAAK;QACX,KAAK,WAAW;UACd;UACA,IAAI,CAACnG,cAAc,CAACZ,KAAK,CAACgE,SAAS,EAAE;YACnCpD,cAAc,CAACZ,KAAK,CAACgE,SAAQ,GAAI,IAAIL,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAACK,SAAS,CAAC;UACvE;UACA3D,WAAW,CAACN,KAAK,CAACgH,SAAS,CAAC,CAC1BpG,cAAc,CAACZ,KAAK,CAACgE,SAAS,EAC9B,GAAGiD,sBAAsB,CAAC,EAC3B;UACD;QACF,KAAK,MAAM;UACT;UACA3G,WAAW,CAACN,KAAK,CAACgH,SAAS,CAAC,CAAC,IAAIrD,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAAC,CAAC,CAAC;UACzDtD,WAAW,CAACN,KAAK,CAACkH,WAAW,CAAC,oBAAoB;UAClD7C,mBAAmB,CAAC,GAAE;UACtB;QACF;UACE;UACA/D,WAAW,CAACN,KAAK,CAACgH,SAAS,CAAC,CAAC,IAAIrD,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAAC,CAAC,CAAC;UACzDtD,WAAW,CAACN,KAAK,CAACkH,WAAW,CAAC,sBAAsB;UACpD7C,mBAAmB,CAAC;QAAE;MAC1B;IACF;;IAEA;IACA,MAAM4C,sBAAqB,GAAIA,CAAA,KAAM;MACnC,MAAME,MAAK,GAAI,EAAC;MAEhB,IAAI,CAACxD,MAAM,CAAChC,IAAI,EAAE,OAAOwF,MAAK;MAE9B,IAAIxG,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,WAAW,KAAKW,cAAc,CAACZ,KAAK,CAACkE,SAAS,EAAE;QAC/EiD,MAAM,CAACC,IAAI,CAACxG,cAAc,CAACZ,KAAK,CAACkE,SAAS;MAC5C;MAEA,IAAIvD,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,SAAS,KAAKW,cAAc,CAACZ,KAAK,CAAC0D,OAAO,EAAE;QAC3EyD,MAAM,CAACC,IAAI,CAACxG,cAAc,CAACZ,KAAK,CAAC0D,OAAO;MAC1C;MAEA,IAAI/C,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,SAAS,KAAKW,cAAc,CAACZ,KAAK,CAACqH,OAAO,EAAE;QAC3EF,MAAM,CAACC,IAAI,CAACxG,cAAc,CAACZ,KAAK,CAACqH,OAAO;MAC1C;MAEA,OAAOF,MAAK;IACd;;IAEA;IACA,MAAMG,cAAa,GAAK3H,IAAI,IAAK;MAC/B,IAAI,CAACW,WAAW,CAACN,KAAK,EAAE;MAExB,IAAI;QACF;QACA;QACA,IAAIL,IAAG,KAAM,IAAI,EAAE;UACjB;UACAW,WAAW,CAACN,KAAK,CAACuH,OAAO,CAAC;YACxB9G,QAAQ,EAAE,IAAI;YACd0B,KAAK,EAAE,EAAC,CAAG;UACb,CAAC,CAAC;UACFhB,OAAO,CAACO,GAAG,CAAC,YAAY,CAAC;QAC3B,OAAO;UACL;UACApB,WAAW,CAACN,KAAK,CAACuH,OAAO,CAAC;YACxB9G,QAAQ,EAAE,IAAI;YACd0B,KAAK,EAAE,EAAG;UACZ,CAAC,CAAC;UACFhB,OAAO,CAACO,GAAG,CAAC,YAAY,CAAC;QAC3B;;QAEA;QACA,IAAIf,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,WAAW,CAAC,EAAE;UAC7C,IAAIW,cAAc,CAACZ,KAAK,CAACkE,SAAS,EAAE;YAClC5D,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAACnF,cAAc,CAACZ,KAAK,CAACkE,SAAS;UACzD;UACAtD,cAAc,CAACZ,KAAK,CAACkE,SAAQ,GAAI,IAAIP,MAAM,CAAChC,IAAI,CAACwC,aAAa,CAAC;YAC7DL,MAAM,EAAE,EAAE;YACV;YACAM,YAAY,EAAEzE,IAAG,KAAM,IAAG,GAAI,IAAI;UACpC,CAAC;UACDW,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAACkE,SAAS;QACtD;;QAEA;QACA,IAAIxD,eAAe,CAACV,KAAI,KAAM,WAAW,EAAE;UACzC8G,cAAc,CAAC,WAAW;QAC5B;MACF,EAAE,OAAO5F,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,WAAW,EAAEA,KAAK;QAChC3B,SAAS,CAAC2B,KAAK,CAAC,MAAMvB,IAAI,SAASuB,KAAK,CAAC6D,OAAO,EAAE;MACpD;IACF;;IAEA;IACA,MAAMV,mBAAkB,GAAIA,CAAA,KAAM;MAChC,IAAI,CAAC/D,WAAW,CAACN,KAAI,IAAK,CAAC2D,MAAM,CAAChC,IAAI,EAAE;;MAExC;MACA,IAAIhB,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3C,IAAI,CAACW,cAAc,CAACZ,KAAK,CAAC0D,OAAO,EAAE;UACjC9C,cAAc,CAACZ,KAAK,CAAC0D,OAAM,GAAI,IAAIC,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAACC,OAAO,CAAC;UACjEvD,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAAC0D,OAAO;QACpD,OAAO,IAAI,CAACpD,WAAW,CAACN,KAAK,CAACwH,SAAS,CAAC,CAAC,CAACvH,QAAQ,CAACW,cAAc,CAACZ,KAAK,CAAC0D,OAAO,CAAC,EAAE;UAChFpD,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAAC0D,OAAO;QACpD;MACF,OAAO,IAAI9C,cAAc,CAACZ,KAAK,CAAC0D,OAAO,EAAE;QACvCpD,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAACnF,cAAc,CAACZ,KAAK,CAAC0D,OAAO;MACvD;;MAEA;MACA,IAAI/C,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC7C,IAAI,CAACW,cAAc,CAACZ,KAAK,CAACkE,SAAS,EAAE;UACnCtD,cAAc,CAACZ,KAAK,CAACkE,SAAQ,GAAI,IAAIP,MAAM,CAAChC,IAAI,CAACwC,aAAa,CAAC;UAC/D7D,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAACkE,SAAS;QACtD,OAAO,IAAI,CAAC5D,WAAW,CAACN,KAAK,CAACwH,SAAS,CAAC,CAAC,CAACvH,QAAQ,CAACW,cAAc,CAACZ,KAAK,CAACkE,SAAS,CAAC,EAAE;UAClF5D,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAACkE,SAAS;QACtD;MACF,OAAO,IAAItD,cAAc,CAACZ,KAAK,CAACkE,SAAS,EAAE;QACzC5D,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAACnF,cAAc,CAACZ,KAAK,CAACkE,SAAS;MACzD;;MAEA;MACA,IAAIvD,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3C,IAAI,CAACW,cAAc,CAACZ,KAAK,CAACqH,OAAO,EAAE;UACjC;UACAzG,cAAc,CAACZ,KAAK,CAACqH,OAAM,GAAI,IAAI1D,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAAC;YACvDE,MAAM,EAAE,EAAE;YACV2D,UAAU,EAAE,SAAAA,CAASC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;cAC5B;cACA,OAAO,gBAAe,IAAKF,CAAA,GAAI,IAAI,CAAC,IAAI,wCAAuC,GAAIA,CAAA,GAAI,KAAI,GAAIC,CAAA,GAAI,KAAI,GAAIC,CAAC;YAC9G;UACF,CAAC,CAAC;UACFtH,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAACqH,OAAO;QACpD,OAAO,IAAI,CAAC/G,WAAW,CAACN,KAAK,CAACwH,SAAS,CAAC,CAAC,CAACvH,QAAQ,CAACW,cAAc,CAACZ,KAAK,CAACqH,OAAO,CAAC,EAAE;UAChF/G,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAACqH,OAAO;QACpD;MACF,OAAO,IAAIzG,cAAc,CAACZ,KAAK,CAACqH,OAAO,EAAE;QACvC/G,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAACnF,cAAc,CAACZ,KAAK,CAACqH,OAAO;MACvD;;MAEA;MACA,IAAI1G,aAAa,CAACX,KAAK,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3C;QACA;QACA,IAAI,CAACW,cAAc,CAACZ,KAAK,CAACsE,OAAO,EAAE;UACjC,IAAI;YACF;YACA,MAAMuD,YAAW,GAAI,IAAIlE,MAAM,CAAChC,IAAI,CAACiC,SAAS,CAAC;cAC7CE,MAAM,EAAE,EAAE;cACVC,OAAO,EAAE,GAAG;cACZ0D,UAAU,EAAE,SAAAA,CAASC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;gBAC5B;gBACA,OAAO,iDAAiDA,CAAC,IAAIF,CAAC,IAAIC,CAAC,MAAM;cAC3E;YACF,CAAC,CAAC;YAEF/G,cAAc,CAACZ,KAAK,CAACsE,OAAM,GAAIuD,YAAY;;YAE3C;YACA,MAAMC,WAAU,GAAI,IAAInE,MAAM,CAAChC,IAAI,CAACwE,MAAM,CAAC;cACzClD,QAAQ,EAAE3C,WAAW,CAACN,KAAK,CAAC+H,SAAS,CAAC,CAAC;cACvCC,OAAO,EAAE;;;;+BAIQ;cACjBC,MAAM,EAAE,IAAItE,MAAM,CAAChC,IAAI,CAACuG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YACxC,CAAC,CAAC;YAEFtH,cAAc,CAACZ,KAAK,CAAC8H,WAAU,GAAIA,WAAW;YAC9CxH,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAAC,CAACgB,YAAY,EAAEC,WAAW,CAAC,CAAC;UACpD,EAAE,OAAO5G,KAAK,EAAE;YACdC,OAAO,CAACD,KAAK,CAAC,WAAW,EAAEA,KAAK,CAAC;YACjC3B,SAAS,CAAC4I,OAAO,CAAC,kBAAkB,CAAC;UACvC;QACF,OAAO,IAAI,CAAC7H,WAAW,CAACN,KAAK,CAACwH,SAAS,CAAC,CAAC,CAACvH,QAAQ,CAACW,cAAc,CAACZ,KAAK,CAACsE,OAAO,CAAC,EAAE;UAChF,IAAI1D,cAAc,CAACZ,KAAK,CAAC8H,WAAW,EAAE;YACpCxH,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAAC,CAACjG,cAAc,CAACZ,KAAK,CAACsE,OAAO,EAAE1D,cAAc,CAACZ,KAAK,CAAC8H,WAAW,CAAC,CAAC;UACzF,OAAO;YACLxH,WAAW,CAACN,KAAK,CAAC6G,GAAG,CAACjG,cAAc,CAACZ,KAAK,CAACsE,OAAO,CAAC;UACrD;QACF;MACF,OAAO,IAAI1D,cAAc,CAACZ,KAAK,CAACsE,OAAO,EAAE;QACvC,IAAI1D,cAAc,CAACZ,KAAK,CAAC8H,WAAW,EAAE;UACpCxH,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAAC,CAACnF,cAAc,CAACZ,KAAK,CAACsE,OAAO,EAAE1D,cAAc,CAACZ,KAAK,CAAC8H,WAAW,CAAC,CAAC;QAC5F,OAAO;UACLxH,WAAW,CAACN,KAAK,CAAC+F,MAAM,CAACnF,cAAc,CAACZ,KAAK,CAACsE,OAAO,CAAC;QACxD;MACF;IACF;;IAEA;IACAjF,OAAO,CAAC,aAAa,EAAEiB,WAAW;;IAElC;IACA,MAAM8H,aAAY,GAAIA,CAAA,KAAM;MAC1B,IAAI9H,WAAW,CAACN,KAAK,EAAE;QACrBM,WAAW,CAACN,KAAK,CAACqI,MAAM,CAAC;MAC3B;IACF;IAEAlJ,SAAS,CAAC,MAAM;MACdmC,OAAO,CAAC;MACRqC,MAAM,CAAC2E,gBAAgB,CAAC,QAAQ,EAAEF,aAAa;IACjD,CAAC;IAEDhJ,WAAW,CAAC,MAAM;MAChBuE,MAAM,CAAC4E,mBAAmB,CAAC,QAAQ,EAAEH,aAAa;MAClD,IAAI9H,WAAW,CAACN,KAAK,EAAE;QACrBM,WAAW,CAACN,KAAK,CAACwI,OAAO,CAAC;MAC5B;IACF,CAAC;;IAED;IACA,MAAMC,MAAK,GAAIA,CAAA,KAAMnI,WAAW,CAACN,KAAI;IAErC,OAAO;MACLM,WAAW;MACXC,SAAS;MACTE,QAAQ;MACRC,eAAe;MACfC,aAAa;MACbmG,cAAc;MACdQ,cAAc;MACdjD,mBAAmB;MACnBoE;IACF;EACF;AACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/f59560565c2de5552ee5b5813b5e74e9ab05ccb79e04ed8ed0332bf58bdba6bc.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/f59560565c2de5552ee5b5813b5e74e9ab05ccb79e04ed8ed0332bf58bdba6bc.json new file mode 100644 index 00000000..8f85ffaa --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/f59560565c2de5552ee5b5813b5e74e9ab05ccb79e04ed8ed0332bf58bdba6bc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/f9aae4e81caeaae0c0f6ec3e7df28e3e8381f77351546eaebfd31302da2f149b.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/f9aae4e81caeaae0c0f6ec3e7df28e3e8381f77351546eaebfd31302da2f149b.json new file mode 100644 index 00000000..f52171e0 --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/f9aae4e81caeaae0c0f6ec3e7df28e3e8381f77351546eaebfd31302da2f149b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { ref, onMounted, onUnmounted, provide } from 'vue';\nimport { useStore } from 'vuex';\nimport { ElMessage } from 'element-plus';\nimport AMapLoader from '@amap/amap-jsapi-loader';\nexport default {\n name: 'SharedMap',\n props: {\n mode: {\n type: String,\n default: 'default',\n // 'default', 'threatZone', 'pathPlanning'\n validator: value => ['default', 'threatZone', 'pathPlanning'].includes(value)\n }\n },\n emits: ['map-loaded', 'map-click'],\n setup(props, {\n emit\n }) {\n const store = useStore();\n const mapInstance = ref(null);\n const mapLoaded = ref(false);\n const markers = ref({});\n const viewMode = ref('3D');\n const currentMapStyle = ref('normal');\n const overlayLayers = ref(['buildings']);\n const layerInstances = ref({});\n const safeBase64Encode = str => {\n try {\n return btoa(unescape(encodeURIComponent(str)));\n } catch (error) {\n console.warn('Base64编码失败:', error);\n return btoa(str);\n }\n };\n\n // 从环境变量或后端获取地图API密钥\n const getApiKey = () => {\n // 在生产环境中,应该从后端获取API密钥,这里暂时使用硬编码的API密钥\n return '492dc9daf4eae7cab678c0f3efed8198';\n };\n const initMap = async () => {\n const container = document.getElementById('sharedMap');\n if (!container) {\n console.error('地图容器未找到');\n ElMessage.error('地图容器未找到');\n return;\n }\n try {\n console.log('开始加载高德地图...');\n\n // 使用AMapLoader加载高德地图API\n const AMap = await AMapLoader.load({\n key: getApiKey(),\n version: '2.0',\n plugins: ['AMap.Scale', 'AMap.ToolBar', 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', 'AMap.Polygon', 'AMap.Circle', 'AMap.MouseTool', 'AMap.HawkEye', 'AMap.MapType', 'AMap.Geolocation', 'AMap.TileLayer', 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', 'AMap.BuildingLayer', 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving']\n });\n console.log('高德地图 API 加载成功');\n\n // 创建地图实例\n mapInstance.value = new AMap.Map('sharedMap', {\n zoom: 11,\n center: [116.397428, 39.90923],\n viewMode: viewMode.value,\n pitch: viewMode.value === '3D' ? 45 : 0,\n rotation: 0,\n mapStyle: 'amap://styles/normal',\n features: ['bg', 'road', 'building', 'point'],\n resizeEnable: true,\n dragEnable: true,\n zoomEnable: true,\n doubleClickZoom: true,\n keyboardEnable: true,\n jogEnable: true,\n scrollWheel: true,\n touchZoom: true\n });\n console.log('地图实例创建成功');\n\n // 添加地图控件\n const toolbar = new AMap.ToolBar({\n position: {\n top: '10px',\n right: '10px'\n }\n });\n const scale = new AMap.Scale({\n position: {\n bottom: '10px',\n right: '10px'\n }\n });\n mapInstance.value.addControl(toolbar);\n mapInstance.value.addControl(scale);\n\n // 添加地图事件监听\n mapInstance.value.on('click', e => {\n emit('map-click', e);\n });\n mapInstance.value.on('complete', () => {\n console.log('地图加载完成');\n mapLoaded.value = true;\n emit('map-loaded', mapInstance.value);\n try {\n // 初始化不同的图层实例,但不会立即添加到地图\n // 预初始化交通图层\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n\n // 预初始化卫星图层\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n\n // 预初始化建筑图层\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n\n // 初始化图层显示\n updateOverlayLayers();\n\n // 初始化天气服务\n try {\n // 创建天气查询服务\n const weather = new window.AMap.Weather();\n layerInstances.value.weatherService = weather;\n\n // 查询默认城市天气作为示例\n weather.getLive('北京市', function (err, data) {\n if (!err) {\n console.log('天气服务初始化成功:', data);\n }\n });\n } catch (weatherError) {\n console.warn('天气服务初始化失败:', weatherError);\n }\n } catch (layerError) {\n console.error('图层初始化失败:', layerError);\n }\n\n // 主动获取无人机数据,而不是直接初始化\n fetchDrones();\n });\n } catch (error) {\n console.error('地图加载失败:', error);\n ElMessage.error(`地图加载失败: ${error.message}`);\n }\n };\n\n // 添加主动获取无人机数据的方法\n const fetchDrones = async () => {\n try {\n console.log('获取无人机数据...');\n await store.dispatch('fetchDrones');\n\n // 查看完整状态\n console.log('Store状态:', store.state);\n\n // 尝试直接获取正确的无人机数据\n const drones = store.state.drones;\n console.log('无人机数据状态:', drones);\n if (Array.isArray(drones)) {\n initDroneMarkers();\n } else {\n console.warn('无人机数据格式不正确,从模块中获取');\n const dronesFromModule = store.state.drones?.list;\n console.log('无人机模块数据:', dronesFromModule);\n if (Array.isArray(dronesFromModule)) {\n // 先将数据设置到根状态,以便标记初始化能正常工作\n store.commit('SET_DRONES', dronesFromModule);\n initDroneMarkers();\n }\n }\n } catch (error) {\n console.error('获取无人机数据失败:', error);\n }\n };\n\n // 初始化无人机标记\n const initDroneMarkers = () => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 从store获取无人机数据,确保是数组\n const drones = store.state.drones || [];\n\n // 检查drones是否为数组\n if (!Array.isArray(drones)) {\n console.warn('无人机数据不是数组格式:', drones);\n return; // 如果不是数组,直接返回\n }\n console.log('无人机数据:', drones);\n\n // 遍历添加无人机标记\n drones.forEach(drone => {\n if (drone && drone.latitude && drone.longitude) {\n addDroneMarker(drone);\n }\n });\n };\n\n // 添加无人机标记\n const addDroneMarker = drone => {\n if (!mapInstance.value || !window.AMap) return;\n\n // 如果已存在该无人机的标记,先移除\n if (markers.value[drone.id]) {\n mapInstance.value.remove(markers.value[drone.id]);\n }\n\n // 根据无人机状态设置不同的颜色\n let statusColor = '#2ecc71'; // 默认绿色 - active\n if (drone.status === 'idle') {\n statusColor = '#3498db'; // 蓝色\n } else if (drone.status === 'error') {\n statusColor = '#e74c3c'; // 红色\n }\n\n // 创建无人机标记\n const marker = new window.AMap.Marker({\n position: [drone.longitude, drone.latitude],\n icon: new window.AMap.Icon({\n size: new window.AMap.Size(40, 40),\n image: 'data:image/svg+xml;base64,' + safeBase64Encode(`\n \n \n ${drone.id}\n \n `),\n imageSize: new window.AMap.Size(40, 40)\n }),\n anchor: 'center',\n zIndex: 100,\n angle: drone.heading || 0\n });\n\n // 保存标记\n markers.value[drone.id] = marker;\n mapInstance.value.add(marker);\n };\n\n // 修改地图样式切换功能\n const changeMapStyle = style => {\n if (!mapInstance.value) return;\n try {\n currentMapStyle.value = style;\n switch (style) {\n case 'satellite':\n // 使用卫星图层\n if (!layerInstances.value.satellite) {\n layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({\n zIndex: 9\n });\n }\n\n // 添加卫星图层\n mapInstance.value.add(layerInstances.value.satellite);\n\n // 添加其他已启用的图层\n const activeLayers = [];\n if (overlayLayers.value.includes('buildings') && layerInstances.value.buildings) {\n activeLayers.push(layerInstances.value.buildings);\n }\n if (overlayLayers.value.includes('traffic') && layerInstances.value.traffic) {\n activeLayers.push(layerInstances.value.traffic);\n }\n if (overlayLayers.value.includes('terrain') && layerInstances.value.terrain) {\n activeLayers.push(layerInstances.value.terrain);\n }\n\n // 添加其他活动图层\n if (activeLayers.length > 0) {\n mapInstance.value.add(activeLayers);\n }\n break;\n case 'dark':\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置暗色地图\n mapInstance.value.setMapStyle('amap://styles/dark');\n break;\n default:\n // 移除卫星图层\n if (layerInstances.value.satellite) {\n mapInstance.value.remove(layerInstances.value.satellite);\n }\n // 设置默认地图样式\n mapInstance.value.setMapStyle('amap://styles/normal');\n }\n console.log(`已切换到${style}地图样式`);\n } catch (error) {\n console.error('切换地图样式失败:', error);\n ElMessage.error(`切换地图样式失败: ${error.message}`);\n }\n };\n\n // 切换视图模式\n const changeViewMode = mode => {\n if (!mapInstance.value) return;\n try {\n // 设置视图模式 - 使用正确的API方法\n if (mode === '3D') {\n // 设置为3D视图\n mapInstance.value.setViewMode('3D');\n mapInstance.value.setPitch(45); // 设置俯仰角(3D效果)\n console.log('已切换到3D视图模式');\n } else {\n // 设置为2D视图\n mapInstance.value.setViewMode('2D');\n mapInstance.value.setPitch(0); // 平面视图\n console.log('已切换到2D视图模式');\n }\n\n // 重新加载建筑层以确保它在视图模式变化后正常显示\n if (overlayLayers.value.includes('buildings')) {\n if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n }\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 10,\n // 在3D模式下加强建筑物外观\n heightFactor: mode === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n }\n\n // 如果是卫星图,处理卫星图层\n if (currentMapStyle.value === 'satellite') {\n changeMapStyle('satellite');\n }\n } catch (error) {\n console.error('切换视图模式失败:', error);\n ElMessage.error(`切换到${mode}视图失败: ${error.message}`);\n }\n };\n\n // 更新图层\n const updateOverlayLayers = () => {\n if (!mapInstance.value || !window.AMap) return;\n try {\n // 交通流量图层\n if (overlayLayers.value.includes('traffic')) {\n if (!layerInstances.value.traffic) {\n layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({\n zIndex: 10,\n opacity: 0.8\n });\n mapInstance.value.add(layerInstances.value.traffic);\n console.log('已添加交通流量图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.traffic)) {\n mapInstance.value.add(layerInstances.value.traffic);\n }\n } else if (layerInstances.value.traffic) {\n mapInstance.value.remove(layerInstances.value.traffic);\n console.log('已移除交通流量图层');\n }\n\n // 建筑物图层\n if (overlayLayers.value.includes('buildings')) {\n if (!layerInstances.value.buildings) {\n layerInstances.value.buildings = new window.AMap.BuildingLayer({\n zIndex: 11,\n heightFactor: viewMode.value === '3D' ? 1 : 0.6\n });\n mapInstance.value.add(layerInstances.value.buildings);\n console.log('已添加建筑物图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.buildings)) {\n mapInstance.value.add(layerInstances.value.buildings);\n }\n } else if (layerInstances.value.buildings) {\n mapInstance.value.remove(layerInstances.value.buildings);\n console.log('已移除建筑物图层');\n }\n\n // 地形等高线图层\n if (overlayLayers.value.includes('terrain')) {\n if (!layerInstances.value.terrain) {\n // 创建地形图层\n layerInstances.value.terrain = new window.AMap.TileLayer({\n zIndex: 10,\n getTileUrl: function (x, y, z) {\n // 使用高德的地形瓦片服务\n return 'https://webst0' + (x % 4 + 1) + '.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z;\n }\n });\n mapInstance.value.add(layerInstances.value.terrain);\n console.log('已添加地形等高线图层');\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.terrain)) {\n mapInstance.value.add(layerInstances.value.terrain);\n }\n } else if (layerInstances.value.terrain) {\n mapInstance.value.remove(layerInstances.value.terrain);\n console.log('已移除地形等高线图层');\n }\n\n // 天气信息图层\n if (overlayLayers.value.includes('weather')) {\n if (!layerInstances.value.weather) {\n try {\n // 创建自定义天气图层\n const weatherLayer = new window.AMap.TileLayer({\n zIndex: 12,\n opacity: 0.6,\n getTileUrl: function (x, y, z) {\n // 这是一个示例URL,实际使用需要替换为有效的天气服务API\n return `https://api.caiyunapp.com/v1/weatherMap/radar/${z}/${x}/${y}.png`;\n }\n });\n layerInstances.value.weather = weatherLayer;\n\n // 添加一个天气信息标记,作为示范\n const weatherInfo = new window.AMap.Marker({\n position: mapInstance.value.getCenter(),\n content: `
\n
气温: 26°C
\n
天气: 晴
\n
风力: 3级
\n
`,\n offset: new window.AMap.Pixel(-60, -40)\n });\n layerInstances.value.weatherInfo = weatherInfo;\n mapInstance.value.add([weatherLayer, weatherInfo]);\n console.log('已添加天气信息图层');\n } catch (error) {\n console.error('天气图层创建失败:', error);\n ElMessage.warning('天气信息图层加载失败,请稍后再试');\n }\n } else if (!mapInstance.value.getAllOverlays().includes(layerInstances.value.weather)) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.add([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.add(layerInstances.value.weather);\n }\n }\n } else if (layerInstances.value.weather) {\n if (layerInstances.value.weatherInfo) {\n mapInstance.value.remove([layerInstances.value.weather, layerInstances.value.weatherInfo]);\n } else {\n mapInstance.value.remove(layerInstances.value.weather);\n }\n console.log('已移除天气信息图层');\n }\n } catch (error) {\n console.error('更新图层失败:', error);\n ElMessage.error(`更新图层失败: ${error.message}`);\n }\n };\n\n // 提供地图实例给子组件\n provide('mapInstance', mapInstance);\n\n // 处理窗口大小变化\n const resizeHandler = () => {\n if (mapInstance.value) {\n mapInstance.value.resize();\n }\n };\n onMounted(() => {\n initMap();\n window.addEventListener('resize', resizeHandler);\n });\n onUnmounted(() => {\n window.removeEventListener('resize', resizeHandler);\n if (mapInstance.value) {\n mapInstance.value.destroy();\n }\n });\n\n // 暴露给父组件的方法\n const getMap = () => mapInstance.value;\n return {\n mapInstance,\n mapLoaded,\n viewMode,\n currentMapStyle,\n overlayLayers,\n changeMapStyle,\n changeViewMode,\n updateOverlayLayers,\n getMap\n };\n }\n};","map":{"version":3,"names":["ref","onMounted","onUnmounted","provide","useStore","ElMessage","AMapLoader","name","props","mode","type","String","default","validator","value","includes","emits","setup","emit","store","mapInstance","mapLoaded","markers","viewMode","currentMapStyle","overlayLayers","layerInstances","safeBase64Encode","str","btoa","unescape","encodeURIComponent","error","console","warn","getApiKey","initMap","container","document","getElementById","log","AMap","load","key","version","plugins","Map","zoom","center","pitch","rotation","mapStyle","features","resizeEnable","dragEnable","zoomEnable","doubleClickZoom","keyboardEnable","jogEnable","scrollWheel","touchZoom","toolbar","ToolBar","position","top","right","scale","Scale","bottom","addControl","on","e","traffic","window","TileLayer","Traffic","zIndex","opacity","satellite","Satellite","buildings","BuildingLayer","heightFactor","updateOverlayLayers","weather","Weather","weatherService","getLive","err","data","weatherError","layerError","fetchDrones","message","dispatch","state","drones","Array","isArray","initDroneMarkers","dronesFromModule","list","commit","forEach","drone","latitude","longitude","addDroneMarker","id","remove","statusColor","status","marker","Marker","icon","Icon","size","Size","image","imageSize","anchor","angle","heading","add","changeMapStyle","style","activeLayers","push","terrain","length","setMapStyle","changeViewMode","setViewMode","setPitch","getAllOverlays","getTileUrl","x","y","z","weatherLayer","weatherInfo","getCenter","content","offset","Pixel","warning","resizeHandler","resize","addEventListener","removeEventListener","destroy","getMap"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/fa8ec4de2e6999dc5d081b7551a954b61c393506be68efe8c9007fd1548d04fb.json b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/fa8ec4de2e6999dc5d081b7551a954b61c393506be68efe8c9007fd1548d04fb.json new file mode 100644 index 00000000..09ccdecc --- /dev/null +++ b/Src/command_center/web-command-center/frontend/node_modules/.cache/babel-loader/fa8ec4de2e6999dc5d081b7551a954b61c393506be68efe8c9007fd1548d04fb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\";\nconst _hoisted_1 = {\n class: \"shared-map-container\"\n};\nconst _hoisted_2 = {\n id: \"sharedMap\",\n class: \"map-area\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"map-loading\"\n};\nconst _hoisted_4 = {\n class: \"map-controls\"\n};\nconst _hoisted_5 = {\n class: \"control-item\"\n};\nconst _hoisted_6 = {\n class: \"control-item\"\n};\nconst _hoisted_7 = {\n class: \"control-item\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_text = _resolveComponent(\"el-text\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_el_checkbox = _resolveComponent(\"el-checkbox\");\n const _component_el_checkbox_group = _resolveComponent(\"el-checkbox-group\");\n const _component_el_card = _resolveComponent(\"el-card\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createCommentVNode(\" 地图容器 \"), _createElementVNode(\"div\", _hoisted_2, [!$setup.mapLoaded ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [_createVNode(_component_el_text, null, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [_createTextVNode(\"地图加载中...\")])),\n _: 1 /* STABLE */,\n __: [3]\n })])) : _createCommentVNode(\"v-if\", true)]), _createCommentVNode(\" 基本地图控制 \"), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_el_card, {\n class: \"map-control-card\",\n size: \"small\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_5, [_cache[7] || (_cache[7] = _createElementVNode(\"h4\", null, \"地图图层\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.currentMapStyle,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.currentMapStyle = $event),\n onChange: $setup.changeMapStyle,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"normal\"\n }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [_createTextVNode(\"标准地图\")])),\n _: 1 /* STABLE */,\n __: [4]\n }), _createVNode(_component_el_radio_button, {\n value: \"satellite\"\n }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [_createTextVNode(\"卫星地图\")])),\n _: 1 /* STABLE */,\n __: [5]\n }), _createVNode(_component_el_radio_button, {\n value: \"dark\"\n }, {\n default: _withCtx(() => _cache[6] || (_cache[6] = [_createTextVNode(\"暗色地图\")])),\n _: 1 /* STABLE */,\n __: [6]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_6, [_cache[10] || (_cache[10] = _createElementVNode(\"h4\", null, \"显示模式\", -1 /* HOISTED */)), _createVNode(_component_el_radio_group, {\n modelValue: $setup.viewMode,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.viewMode = $event),\n onChange: $setup.changeViewMode,\n size: \"small\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n value: \"2D\"\n }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [_createTextVNode(\"2D视图\")])),\n _: 1 /* STABLE */,\n __: [8]\n }), _createVNode(_component_el_radio_button, {\n value: \"3D\"\n }, {\n default: _withCtx(() => _cache[9] || (_cache[9] = [_createTextVNode(\"3D视图\")])),\n _: 1 /* STABLE */,\n __: [9]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])]), _createElementVNode(\"div\", _hoisted_7, [_cache[16] || (_cache[16] = _createElementVNode(\"h4\", null, \"图层叠加\", -1 /* HOISTED */)), _createVNode(_component_el_checkbox_group, {\n modelValue: $setup.overlayLayers,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.overlayLayers = $event),\n onChange: $setup.updateOverlayLayers\n }, {\n default: _withCtx(() => [_createVNode(_component_el_checkbox, {\n value: \"traffic\"\n }, {\n default: _withCtx(() => _cache[11] || (_cache[11] = [_createTextVNode(\"交通流量\")])),\n _: 1 /* STABLE */,\n __: [11]\n }), _createVNode(_component_el_checkbox, {\n value: \"buildings\"\n }, {\n default: _withCtx(() => _cache[12] || (_cache[12] = [_createTextVNode(\"3D建筑\")])),\n _: 1 /* STABLE */,\n __: [12]\n }), _createVNode(_component_el_checkbox, {\n value: \"terrain\"\n }, {\n default: _withCtx(() => _cache[13] || (_cache[13] = [_createTextVNode(\"地形等高线\")])),\n _: 1 /* STABLE */,\n __: [13]\n }), _createVNode(_component_el_checkbox, {\n value: \"weather\"\n }, {\n default: _withCtx(() => _cache[14] || (_cache[14] = [_createTextVNode(\"天气信息\")])),\n _: 1 /* STABLE */,\n __: [14]\n }), _createVNode(_component_el_checkbox, {\n value: \"threats\"\n }, {\n default: _withCtx(() => _cache[15] || (_cache[15] = [_createTextVNode(\"威胁区域\")])),\n _: 1 /* STABLE */,\n __: [15]\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"onChange\"])])]),\n _: 1 /* STABLE */\n })])]);\n}","map":{"version":3,"names":["class","id","_createElementBlock","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_2","$setup","mapLoaded","_hoisted_3","_createVNode","_component_el_text","_cache","_hoisted_4","_component_el_card","size","_hoisted_5","_component_el_radio_group","currentMapStyle","$event","onChange","changeMapStyle","_component_el_radio_button","value","_hoisted_6","viewMode","changeViewMode","_hoisted_7","_component_el_checkbox_group","overlayLayers","updateOverlayLayers","_component_el_checkbox"],"sources":["E:\\大三下\\软件工程\\command_center(1)\\command_center\\web-command-center\\frontend\\src\\components\\SharedMap.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Src/command_center/web-command-center/frontend/src/components/SharedMap.vue b/Src/command_center/web-command-center/frontend/src/components/SharedMap.vue index c62abf59..29c88322 100644 --- a/Src/command_center/web-command-center/frontend/src/components/SharedMap.vue +++ b/Src/command_center/web-command-center/frontend/src/components/SharedMap.vue @@ -100,7 +100,12 @@ export default { version: '2.0', plugins: [ 'AMap.Scale', +<<<<<<< HEAD + 'AMap.ToolBar', + 'AMap.ControlBar', +======= 'AMap.ToolBar', +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 'AMap.InfoWindow', 'AMap.Marker', 'AMap.Polyline', @@ -114,7 +119,11 @@ export default { 'AMap.TileLayer.Satellite', 'AMap.TileLayer.Traffic', 'AMap.TileLayer.RoadNet', +<<<<<<< HEAD + 'AMap.Buildings', +======= 'AMap.BuildingLayer', +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 'AMap.DistrictLayer', 'AMap.Weather', 'AMap.Driving' @@ -127,8 +136,13 @@ export default { mapInstance.value = new AMap.Map('sharedMap', { zoom: 11, center: [116.397428, 39.90923], +<<<<<<< HEAD + viewMode: viewMode.value, + pitch: viewMode.value === '3D' ? 45 : 0, +======= viewMode: '3D', pitch: 0, +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 rotation: 0, mapStyle: 'amap://styles/normal', features: ['bg', 'road', 'building', 'point'], @@ -158,9 +172,26 @@ export default { right: '10px' } }) +<<<<<<< HEAD + + // 添加3D控制条,用于控制3D视图的旋转、倾斜等 + const controlBar = new AMap.ControlBar({ + position: { + top: '80px', + right: '10px' + }, + showZoomBar: false, + showControlButton: true + }) + + mapInstance.value.addControl(toolbar) + mapInstance.value.addControl(scale) + mapInstance.value.addControl(controlBar) +======= mapInstance.value.addControl(toolbar) mapInstance.value.addControl(scale) +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 // 添加地图事件监听 mapInstance.value.on('click', (e) => { @@ -186,7 +217,11 @@ export default { }); // 预初始化建筑图层 +<<<<<<< HEAD + layerInstances.value.buildings = new window.AMap.Buildings({ +======= layerInstances.value.buildings = new window.AMap.BuildingLayer({ +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 zIndex: 11, heightFactor: viewMode.value === '3D' ? 1 : 0.6 }); @@ -321,6 +356,58 @@ export default { const changeMapStyle = (style) => { if (!mapInstance.value) return +<<<<<<< HEAD + try { + currentMapStyle.value = style + + switch (style) { + case 'satellite': + // 使用卫星图层 + if (!layerInstances.value.satellite) { + layerInstances.value.satellite = new window.AMap.TileLayer.Satellite({ + zIndex: 9 + }) + } + + // 添加卫星图层 + mapInstance.value.add(layerInstances.value.satellite) + + // 确保其他已启用的图层在卫星图层之上显示 + updateOverlayLayers() + break + + case 'dark': + // 移除卫星图层 + if (layerInstances.value.satellite) { + mapInstance.value.remove(layerInstances.value.satellite) + } + // 设置暗色地图 + mapInstance.value.setMapStyle('amap://styles/dark') + + // 确保其他已启用的图层在暗色地图上正确显示 + updateOverlayLayers() + break + + default: + // 移除卫星图层 + if (layerInstances.value.satellite) { + mapInstance.value.remove(layerInstances.value.satellite) + } + // 设置默认地图样式 + mapInstance.value.setMapStyle('amap://styles/normal') + + // 确保其他已启用的图层在标准地图上正确显示 + updateOverlayLayers() + } + + console.log(`已切换到${style}地图样式`) + } catch (error) { + console.error('切换地图样式失败:', error) + ElMessage.error(`切换地图样式失败: ${error.message}`) + } + } + +======= switch (style) { case 'satellite': // 使用卫星图层 @@ -367,11 +454,25 @@ export default { return layers } +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 // 切换视图模式 const changeViewMode = (mode) => { if (!mapInstance.value) return try { +<<<<<<< HEAD + // 设置视图模式 - 使用正确的API方法 + if (mode === '3D') { + // 设置为3D视图 + mapInstance.value.setViewMode('3D'); + mapInstance.value.setPitch(45); // 设置俯仰角(3D效果) + console.log('已切换到3D视图模式'); + } else { + // 设置为2D视图 + mapInstance.value.setViewMode('2D'); + mapInstance.value.setPitch(0); // 平面视图 + console.log('已切换到2D视图模式'); +======= // 设置视图模式 mapInstance.value.setViewMode(mode) @@ -385,6 +486,7 @@ export default { }, 100) } else { mapInstance.value.setPitch(0) // 平面视图 +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 } // 重新加载建筑层以确保它在视图模式变化后正常显示 @@ -392,7 +494,11 @@ export default { if (layerInstances.value.buildings) { mapInstance.value.remove(layerInstances.value.buildings) } +<<<<<<< HEAD + layerInstances.value.buildings = new window.AMap.Buildings({ +======= layerInstances.value.buildings = new window.AMap.BuildingLayer({ +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 zIndex: 10, // 在3D模式下加强建筑物外观 heightFactor: mode === '3D' ? 1 : 0.6 @@ -404,8 +510,11 @@ export default { if (currentMapStyle.value === 'satellite') { changeMapStyle('satellite') } +<<<<<<< HEAD +======= console.log(`已切换到${mode}视图模式`) +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 } catch (error) { console.error('切换视图模式失败:', error) ElMessage.error(`切换到${mode}视图失败: ${error.message}`) @@ -416,6 +525,198 @@ export default { const updateOverlayLayers = () => { if (!mapInstance.value || !window.AMap) return +<<<<<<< HEAD + try { + console.log('更新图层状态:', overlayLayers.value) + + // 交通流量图层 + if (overlayLayers.value.includes('traffic')) { + if (!layerInstances.value.traffic) { + layerInstances.value.traffic = new window.AMap.TileLayer.Traffic({ + zIndex: 10, + opacity: 0.8 + }) + } + mapInstance.value.add(layerInstances.value.traffic) + console.log('已添加交通流量图层') + } else if (layerInstances.value.traffic) { + mapInstance.value.remove(layerInstances.value.traffic) + console.log('已移除交通流量图层') + } + + // 建筑物图层 + if (overlayLayers.value.includes('buildings')) { + if (!layerInstances.value.buildings) { + layerInstances.value.buildings = new window.AMap.Buildings({ + zIndex: 11, + heightFactor: viewMode.value === '3D' ? 1 : 0.6 + }) + } + mapInstance.value.add(layerInstances.value.buildings) + console.log('已添加建筑物图层') + } else if (layerInstances.value.buildings) { + mapInstance.value.remove(layerInstances.value.buildings) + console.log('已移除建筑物图层') + } + + // 地形图层 + if (overlayLayers.value.includes('terrain')) { + if (!layerInstances.value.terrain) { + // 等高线图层 + layerInstances.value.terrain = new window.AMap.TileLayer({ + zIndex: 8, + getTileUrl: function(x, y, z) { + return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z + } + }) + } + mapInstance.value.add(layerInstances.value.terrain) + console.log('已添加地形图层') + } else if (layerInstances.value.terrain) { + mapInstance.value.remove(layerInstances.value.terrain) + console.log('已移除地形图层') + } + + // 天气图层 + if (overlayLayers.value.includes('weather')) { + // 显示天气信息 + showWeatherInfo() + } else { + // 隐藏天气信息 + hideWeatherInfo() + } + + // 威胁区域图层 + if (overlayLayers.value.includes('threats')) { + // 威胁区域图层处理逻辑 + console.log('威胁区域图层暂未实现') + } + } catch (error) { + console.error('更新图层失败:', error) + ElMessage.error(`更新图层失败: ${error.message}`) + } + } + + // 显示天气信息 + const showWeatherInfo = () => { + if (!mapInstance.value || !window.AMap) return + + try { + // 如果已有天气信息标记,先清除 + if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) { + layerInstances.value.weatherMarkers.forEach(marker => { + mapInstance.value.remove(marker) + }) + } + + // 初始化天气标记数组 + layerInstances.value.weatherMarkers = [] + + // 创建天气查询服务(如果不存在) + if (!layerInstances.value.weatherService) { + layerInstances.value.weatherService = new window.AMap.Weather() + } + + // 主要城市天气信息 + const cities = [ + { name: '北京', position: [116.397428, 39.90923] }, + { name: '上海', position: [121.473667, 31.230525] }, + { name: '广州', position: [113.264385, 23.129112] }, + { name: '深圳', position: [114.057868, 22.543099] }, + { name: '成都', position: [104.065735, 30.659462] } + ] + + // 查询每个城市的天气 + cities.forEach(city => { + layerInstances.value.weatherService.getLive(city.name, (err, data) => { + if (!err && data) { + // 创建天气信息内容 + const weatherInfo = ` +
+

${city.name}天气

+

天气: ${data.weather}

+

温度: ${data.temperature}°C

+

风向: ${data.windDirection}

+

风力: ${data.windPower}

+

湿度: ${data.humidity}%

+
+ ` + + // 创建天气图标 + const weatherIcon = getWeatherIcon(data.weather) + + // 创建标记 + const marker = new window.AMap.Marker({ + position: city.position, + content: `
${weatherIcon}
`, + offset: new window.AMap.Pixel(-15, -15), + zIndex: 120, + title: `${city.name}天气: ${data.weather}, ${data.temperature}°C` + }) + + // 创建信息窗体 + const infoWindow = new window.AMap.InfoWindow({ + content: weatherInfo, + offset: new window.AMap.Pixel(0, -30) + }) + + // 绑定点击事件 + marker.on('click', () => { + infoWindow.open(mapInstance.value, city.position) + }) + + // 添加到地图 + mapInstance.value.add(marker) + + // 保存标记引用 + layerInstances.value.weatherMarkers.push(marker) + } + }) + }) + + console.log('已添加天气信息图层') + } catch (error) { + console.error('天气图层添加失败:', error) + } + } + + // 隐藏天气信息 + const hideWeatherInfo = () => { + if (!mapInstance.value) return + + // 移除所有天气标记 + if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) { + layerInstances.value.weatherMarkers.forEach(marker => { + mapInstance.value.remove(marker) + }) + layerInstances.value.weatherMarkers = [] + console.log('已移除天气信息图层') + } + } + + // 获取天气图标 + const getWeatherIcon = (weather) => { + // 根据天气状况返回不同的图标 + const icons = { + '晴': '', + '多云': '', + '阴': '', + '雨': '', + '雪': '' + } + + // 匹配天气关键词 + for (const key in icons) { + if (weather.includes(key)) { + return icons[key] + } + } + + // 默认图标 + return '天气' + } + +======= // 交通流量图层 if (overlayLayers.value.includes('traffic')) { if (!layerInstances.value.traffic) { @@ -510,6 +811,7 @@ export default { } } +>>>>>>> 999104f0d0174d3a3870682fb7163d95bc623970 // 提供地图实例给子组件 provide('mapInstance', mapInstance) diff --git a/Src/command_center/web-command-center/frontend/src/views/MapView.vue b/Src/command_center/web-command-center/frontend/src/views/MapView.vue index 205ff818..7e3e74bf 100644 --- a/Src/command_center/web-command-center/frontend/src/views/MapView.vue +++ b/Src/command_center/web-command-center/frontend/src/views/MapView.vue @@ -552,6 +552,10 @@ export default { currentSatelliteLayer.value = satelliteLayer console.log('卫星图层添加成功') + + // 确保其他已启用的图层在卫星图层之上显示 + updateOverlayLayers() + ElMessage.success('已切换到卫星地图') return } @@ -577,6 +581,10 @@ export default { currentSatelliteLayer.value = satelliteLayer console.log('备用卫星图层加载成功') + + // 确保其他已启用的图层在卫星图层之上显示 + updateOverlayLayers() + ElMessage.success('已切换到卫星地图') } catch (tileError) { console.warn('备用卫星图层加载失败:', tileError) @@ -610,6 +618,9 @@ export default { } }) + // 确保其他已启用的图层在新地图样式上正确显示 + updateOverlayLayers() + const styleNames = { normal: '标准', dark: '暗色' @@ -629,6 +640,9 @@ export default { currentSatelliteLayer.value = null } map.value.setMapStyle('amap://styles/normal') + + // 确保图层在回退样式上正确显示 + updateOverlayLayers() } catch (fallbackError) { console.warn('回退样式也失败:', fallbackError) } @@ -650,6 +664,9 @@ export default { map.value.setRotation(0) } + // 重新应用图层以确保它们在视图模式变化后正常显示 + updateOverlayLayers() + ElMessage.success(`已切换到${viewMode.value}视图模式`) } catch (error) { console.warn('视图模式切换失败:', error) @@ -710,13 +727,36 @@ export default { clearThreatZones() } + // 地形图层 + if (overlayLayers.value.includes('terrain')) { + if (!layerInstances.value.terrain) { + layerInstances.value.terrain = new AMap.TileLayer({ + zIndex: 8, + getTileUrl: function(x, y, z) { + return 'https://webst04.is.autonavi.com/appmaptile?style=6&x=' + x + '&y=' + y + '&z=' + z + } + }) + console.log('创建地形图层') + } + map.value.add(layerInstances.value.terrain) + console.log('添加地形图层') + } else if (layerInstances.value.terrain) { + map.value.remove(layerInstances.value.terrain) + console.log('移除地形图层') + } + + // 天气图层 + if (overlayLayers.value.includes('weather')) { + showWeatherInfo() + } else { + hideWeatherInfo() + } + ElMessage.success('图层已更新') } catch (error) { console.error('图层更新失败:', error) ElMessage.warning('部分图层更新失败') } - - ElMessage.success('图层已更新') } const loadThreatZones = () => { @@ -828,6 +868,125 @@ export default { ElMessage.success('已清除所有目标点') } + // 显示天气信息 + const showWeatherInfo = () => { + if (!map.value || !window.AMap) return + + try { + // 如果已有天气信息标记,先清除 + if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) { + layerInstances.value.weatherMarkers.forEach(marker => { + map.value.remove(marker) + }) + } + + // 初始化天气标记数组 + layerInstances.value.weatherMarkers = [] + + // 创建天气查询服务(如果不存在) + if (!layerInstances.value.weatherService) { + layerInstances.value.weatherService = new window.AMap.Weather() + } + + // 主要城市天气信息 + const cities = [ + { name: '北京', position: [116.397428, 39.90923] }, + { name: '上海', position: [121.473667, 31.230525] }, + { name: '广州', position: [113.264385, 23.129112] }, + { name: '深圳', position: [114.057868, 22.543099] }, + { name: '成都', position: [104.065735, 30.659462] } + ] + + // 查询每个城市的天气 + cities.forEach(city => { + layerInstances.value.weatherService.getLive(city.name, (err, data) => { + if (!err && data) { + // 创建天气信息内容 + const weatherInfo = ` +
+

${city.name}天气

+

天气: ${data.weather}

+

温度: ${data.temperature}°C

+

风向: ${data.windDirection}

+

风力: ${data.windPower}

+

湿度: ${data.humidity}%

+
+ ` + + // 创建天气图标 + const weatherIcon = getWeatherIcon(data.weather) + + // 创建标记 + const marker = new window.AMap.Marker({ + position: city.position, + content: `
${weatherIcon}
`, + offset: new window.AMap.Pixel(-15, -15), + zIndex: 120, + title: `${city.name}天气: ${data.weather}, ${data.temperature}°C` + }) + + // 创建信息窗体 + const infoWindow = new window.AMap.InfoWindow({ + content: weatherInfo, + offset: new window.AMap.Pixel(0, -30) + }) + + // 绑定点击事件 + marker.on('click', () => { + infoWindow.open(map.value, city.position) + }) + + // 添加到地图 + map.value.add(marker) + + // 保存标记引用 + layerInstances.value.weatherMarkers.push(marker) + } + }) + }) + + console.log('已添加天气信息图层') + } catch (error) { + console.error('天气图层添加失败:', error) + } + } + + // 隐藏天气信息 + const hideWeatherInfo = () => { + if (!map.value) return + + // 移除所有天气标记 + if (layerInstances.value.weatherMarkers && layerInstances.value.weatherMarkers.length > 0) { + layerInstances.value.weatherMarkers.forEach(marker => { + map.value.remove(marker) + }) + layerInstances.value.weatherMarkers = [] + console.log('已移除天气信息图层') + } + } + + // 获取天气图标 + const getWeatherIcon = (weather) => { + // 根据天气状况返回不同的图标 + const icons = { + '晴': '', + '多云': '', + '阴': '', + '雨': '', + '雪': '' + } + + // 匹配天气关键词 + for (const key in icons) { + if (weather.includes(key)) { + return icons[key] + } + } + + // 默认图标 + return '天气' + } + onMounted(() => { initMap() refreshDroneList()