正在显示
1 个修改的文件
包含
57 行增加
和
20 行删除
@@ -31,42 +31,69 @@ | @@ -31,42 +31,69 @@ | ||
31 | <div id="mapContainer" style="width: 100%; height: 500px;"></div> | 31 | <div id="mapContainer" style="width: 100%; height: 500px;"></div> |
32 | </div> | 32 | </div> |
33 | </template> | 33 | </template> |
34 | -<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.7.6/proj4.js"></script> | ||
35 | <script> | 34 | <script> |
36 | import AMapLoader from '@amap/amap-jsapi-loader'; | 35 | import AMapLoader from '@amap/amap-jsapi-loader'; |
37 | - import {selectVehicle} from '../../api/consigner/vehicle'; | ||
38 | - import {list} from "../../api/consigner/check"; | 36 | + import { selectVehicle } from '../../api/consigner/vehicle'; |
39 | 37 | ||
40 | export default { | 38 | export default { |
41 | name: 'MapComponent', | 39 | name: 'MapComponent', |
42 | data() { | 40 | data() { |
43 | return { | 41 | return { |
44 | mapInstance: null, | 42 | mapInstance: null, |
45 | - queryInfo:{ | ||
46 | - vno:'', | ||
47 | - vnocolor:'' | 43 | + queryInfo: { |
44 | + vno: '', | ||
45 | + vnocolor: '' | ||
48 | } | 46 | } |
49 | }; | 47 | }; |
50 | }, | 48 | }, |
51 | - methods:{ | 49 | + methods: { |
52 | getList() { | 50 | getList() { |
53 | - const _this = this | 51 | + const _this = this; |
54 | selectVehicle(this.queryInfo).then((response) => { | 52 | selectVehicle(this.queryInfo).then((response) => { |
55 | - const res = response.data | ||
56 | - //console.log(response.data) | 53 | + const res = response.data; |
57 | if (res.code !== '200') { | 54 | if (res.code !== '200') { |
58 | - return _this.$message.error('获取消息收发记录,失败!') | 55 | + return _this.$message.error('获取车辆位置失败!'); |
56 | + } | ||
57 | + if(res.data.data!=='' && res.data.data!=null){ | ||
58 | + // 获取车辆位置信息 | ||
59 | + const vehicle = res.data.data.firstVcl; | ||
60 | + // 在获取车辆位置成功的部分,创建信息窗口或者自定义标记 | ||
61 | + const markerContent = document.createElement('div'); | ||
62 | + markerContent.innerHTML = ` | ||
63 | + <div class="rounded-corner" STYLE="width: 200px;background-color: rgba(255,255,255,0.7);text-align: center"> | ||
64 | + <p>车牌号:${vehicle.vno}</p > | ||
65 | + <p>已行驶距离:${vehicle.runDistance}公里</p > | ||
66 | + <p>剩余距离:${vehicle.remainDistance}公里</p > | ||
67 | + </div> | ||
68 | + `; | ||
69 | + if (vehicle.lon && vehicle.lat) { | ||
70 | + const lon = parseFloat(vehicle.lon) / 600000.0; // 将经度字符串转换为数值并除以 600000.0 | ||
71 | + const lat = parseFloat(vehicle.lat) / 600000.0; // 将纬度字符串转换为数值并除以 600000.0 | ||
72 | + //const coords = wgs84togcj02(lon, lat); | ||
73 | + // 添加车辆位置标记 | ||
74 | + const marker = new AMap.Marker({ | ||
75 | + position: [lon, lat], | ||
76 | + map: _this.mapInstance, | ||
77 | + content: markerContent | ||
78 | + }); | ||
79 | + const defaultMarker = new AMap.Marker({ | ||
80 | + position: [lon, lat], | ||
81 | + map: _this.mapInstance, | ||
82 | + }); | ||
83 | + // 移动地图中心到车辆位置 | ||
84 | + _this.mapInstance.setCenter([lon, lat]); | ||
85 | + _this.$message.success('获取车辆位置成功!'); | ||
86 | + } else { | ||
87 | + _this.$message.warning('车辆位置信息不完整!'); | ||
88 | + } | ||
89 | + }else{ | ||
90 | + return _this.$message.error('无相关车辆信息返回'); | ||
59 | } | 91 | } |
60 | - // 获取列表数据 | ||
61 | - console.log(res.data.data.firstVcl) | ||
62 | - _this.$message.success('获取消息收发记录,成功!') | ||
63 | }).catch(error => { | 92 | }).catch(error => { |
64 | - // 关闭加载 | ||
65 | - _this.$message.error(error.toString()) | ||
66 | - }) | ||
67 | - }, | 93 | + _this.$message.error('获取车辆位置失败:' + error.toString()); |
94 | + }); | ||
68 | }, | 95 | }, |
69 | - mounted() { | 96 | + initMap() { |
70 | AMapLoader.load({ | 97 | AMapLoader.load({ |
71 | key: 'fdb27c13681d084e85ff8457b5cbe540', | 98 | key: 'fdb27c13681d084e85ff8457b5cbe540', |
72 | version: '2.0', | 99 | version: '2.0', |
@@ -80,11 +107,14 @@ | @@ -80,11 +107,14 @@ | ||
80 | console.error(err); | 107 | console.error(err); |
81 | }); | 108 | }); |
82 | }, | 109 | }, |
110 | + }, | ||
111 | + mounted() { | ||
112 | + this.initMap(); | ||
113 | + }, | ||
83 | }; | 114 | }; |
84 | </script> | 115 | </script> |
85 | 116 | ||
86 | <style scoped> | 117 | <style scoped> |
87 | - /* 可以添加一些样式来设置地图容器的大小等 */ | ||
88 | .my-text-area .prepand{ | 118 | .my-text-area .prepand{ |
89 | float: left; | 119 | float: left; |
90 | width:89px; | 120 | width:89px; |
@@ -100,4 +130,11 @@ | @@ -100,4 +130,11 @@ | ||
100 | border-bottom-left-radius: 0; | 130 | border-bottom-left-radius: 0; |
101 | border-top-left-radius: 0; | 131 | border-top-left-radius: 0; |
102 | } | 132 | } |
133 | + .rounded-corner { | ||
134 | + border-radius: 10px; /* 设置圆角的半径为10像素 */ | ||
135 | + background-color: #f0f0f0; /* 背景颜色 */ | ||
136 | + padding: 10px; /* 内边距 */ | ||
137 | + margin: 10px; /* 外边距 */ | ||
138 | + box-shadow: 0 0 5px #ddd; /* 盒子阴影效果 */ | ||
139 | + } | ||
103 | </style> | 140 | </style> |
-
请 注册 或 登录 后发表评论