Commit f11056559d409b900cee3564724b1e3709758f51

Authored by liuqimichale
1 parent a3e443aa

map

src/components/VMap.vue
1 <template> 1 <template>
2 - <div>地图</div> 2 + <div class="map-wrap" id="map"></div>
3 </template> 3 </template>
4 4
5 <script> 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 export default { 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 </script> 95 </script>
10 96
11 <style scoped lang="scss"> 97 <style scoped lang="scss">
12 - 98 + .map-wrap{
  99 + width: 100%;
  100 + height: 100%;
  101 + }
13 </style> 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

src/style/reset.css
@@ -128,4 +128,6 @@ table { @@ -128,4 +128,6 @@ table {
128 position: absolute; 128 position: absolute;
129 } 129 }
130 130
  131 +.anchorBL{display:none;} /*去掉百度地图logo*/
  132 +
131 133