Commit f11056559d409b900cee3564724b1e3709758f51
1 parent
a3e443aa
map
Showing
5 changed files
with
94 additions
and
3 deletions
src/components/VMap.vue
1 | 1 | <template> |
2 | - <div>地图</div> | |
2 | + <div class="map-wrap" id="map"></div> | |
3 | 3 | </template> |
4 | 4 | |
5 | 5 | <script> |
6 | +import busyCar from '../images/content/busy-status.png'; //以import的方式导入图片文件 | |
7 | +import normalCar from '../images/content/normal-status.png'; //以import的方式导入图片文件 | |
8 | +import idleCar from '../images/content/idle-status.png'; //以import的方式导入图片文件 | |
9 | + | |
6 | 10 | export default { |
7 | - name: 'VMap' | |
11 | + name: 'VMap', | |
12 | + mounted(){ | |
13 | + this.drawMap() | |
14 | + }, | |
15 | + methods:{ | |
16 | + drawMap(){ | |
17 | + let data = [ | |
18 | + {Name:'万达停车场1',lonId:'111.742579',latId:'40.818675',status:0,free:30,total:1000}, | |
19 | + {Name:'万达停车场2',lonId:'111.622579',latId:'40.878675',status:1,free:40,total:800}, | |
20 | + {Name:'万达停车场333333',lonId:'111.782579',latId:'40.778675',status:2,free:300,total:500} | |
21 | + ]; | |
22 | + var map = new BMap.Map('map', {enableMapClick: false}) | |
23 | + var point = new BMap.Point(data[0].lonId, data[0].latId) | |
24 | + map.centerAndZoom(point, 15) | |
25 | + var mapStyle={ style : "midnight" } | |
26 | + map.enableScrollWheelZoom(false); | |
27 | + map.setMapStyle(mapStyle); | |
28 | + // var marker = new BMap.Marker(point) // 创建标注 | |
29 | + // map.addOverlay(marker) // 将标注添加到地图中 | |
30 | + | |
31 | + map.clearOverlays(); | |
32 | + var i = 0; | |
33 | + var points = []; | |
34 | + for (var item in data) { | |
35 | + (function (x) { | |
36 | + var itemthat = item; | |
37 | + //创建标注 | |
38 | + var pt = new BMap.Point(data[item].lonId, data[item].latId); | |
39 | + points[i] = pt; | |
40 | + if(data[item].freeBrethNum/data[item].plBerthNum == 0){ | |
41 | + var myIcon = new BMap.Icon(busyCar, | |
42 | + new BMap.Size(29, 40), { | |
43 | + offset: new BMap.Size(10, 40), | |
44 | + textColor: '#fff' | |
45 | + }); | |
46 | + var marker = new BMap.Marker(pt,{icon:myIcon}); | |
47 | + } else if(data[item].freeBrethNum/data[item].plBerthNum <= 0.3){ | |
48 | + var myIcon = new BMap.Icon(normalCar, | |
49 | + new BMap.Size(29, 40), { | |
50 | + offset: new BMap.Size(10, 40), | |
51 | + textColor: '#fff' | |
52 | + }); | |
53 | + var marker = new BMap.Marker(pt,{icon:myIcon}); | |
54 | + } else { | |
55 | + var myIcon = new BMap.Icon(idleCar, | |
56 | + new BMap.Size(29, 40), { | |
57 | + offset: new BMap.Size(10, 40), | |
58 | + textColor: '#fff' | |
59 | + }); | |
60 | + var marker = new BMap.Marker(pt,{icon:myIcon}); | |
61 | + } | |
62 | + var myIcon = new BMap.Icon(busyCar, | |
63 | + new BMap.Size(29, 40), { | |
64 | + offset: new BMap.Size(10, 40), | |
65 | + textColor: '#fff' | |
66 | + }); | |
67 | + | |
68 | + marker.setTop(true,27000000); | |
69 | + map.addOverlay(marker); | |
70 | + var myLabel; | |
71 | + | |
72 | + marker.addEventListener("mouseover", (e)=> { | |
73 | + map.removeOverlay(myLabel); | |
74 | + var that = this; | |
75 | + let tmpHtml = ''; | |
76 | + for(let i=0;i<JSON.parse(data[itemthat].plRate).length;i++){ | |
77 | + //console.log(data[itemthat].plRate) | |
78 | + tmpHtml += "<li>"+JSON.parse(data[itemthat].plRate)[i].standard+"</li>" | |
79 | + } | |
80 | + | |
81 | + | |
82 | + }); | |
83 | + marker.addEventListener("mouseout", function (e) { | |
84 | + map.removeOverlay(myLabel); | |
85 | + }); | |
86 | + i++; | |
87 | + })(i); | |
88 | + } | |
89 | + | |
90 | + } | |
91 | + | |
92 | + } | |
93 | + | |
8 | 94 | } |
9 | 95 | </script> |
10 | 96 | |
11 | 97 | <style scoped lang="scss"> |
12 | - | |
98 | + .map-wrap{ | |
99 | + width: 100%; | |
100 | + height: 100%; | |
101 | + } | |
13 | 102 | </style> | ... | ... |
src/images/content/busy-status.png
0 → 100644
1.06 KB
src/images/content/idle-status.png
0 → 100644
1.2 KB
src/images/content/normal-status.png
0 → 100644
1.17 KB