Commit 5b095e2d3cc318dba8bcc4d61283f908f9b81441

Authored by liuqimichale
1 parent f1105655

地图

src/components/VMap.vue
... ... @@ -15,9 +15,9 @@ export default {
15 15 methods:{
16 16 drawMap(){
17 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}
  18 + {Name:'万达停车场1',lonId:'111.742579',latId:'40.818675',status:0,freeBrethNum:0,plBerthNum:1000,plName:'万达广场停车场1',plAddress:'北京万达广场1'},
  19 + {Name:'万达停车场2',lonId:'111.622579',latId:'40.878675',status:1,freeBrethNum:100,plBerthNum:800,plName:'万达广场停车场2',plAddress:'北京万达广场2'},
  20 + {Name:'万达停车场333333',lonId:'111.782579',latId:'40.778675',status:2,freeBrethNum:300,plBerthNum:500,plName:'万达广场停车场3',plAddress:'北京万达广场3'}
21 21 ];
22 22 var map = new BMap.Map('map', {enableMapClick: false})
23 23 var point = new BMap.Point(data[0].lonId, data[0].latId)
... ... @@ -38,7 +38,7 @@ export default {
38 38 var pt = new BMap.Point(data[item].lonId, data[item].latId);
39 39 points[i] = pt;
40 40 if(data[item].freeBrethNum/data[item].plBerthNum == 0){
41   - var myIcon = new BMap.Icon(busyCar,
  41 + var myIcon = new BMap.Icon(idleCar,
42 42 new BMap.Size(29, 40), {
43 43 offset: new BMap.Size(10, 40),
44 44 textColor: '#fff'
... ... @@ -52,7 +52,7 @@ export default {
52 52 });
53 53 var marker = new BMap.Marker(pt,{icon:myIcon});
54 54 } else {
55   - var myIcon = new BMap.Icon(idleCar,
  55 + var myIcon = new BMap.Icon(busyCar,
56 56 new BMap.Size(29, 40), {
57 57 offset: new BMap.Size(10, 40),
58 58 textColor: '#fff'
... ... @@ -68,21 +68,37 @@ export default {
68 68 marker.setTop(true,27000000);
69 69 map.addOverlay(marker);
70 70 var myLabel;
  71 + map.removeOverlay(myLabel);
71 72  
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>"
  73 + // map.removeOverlay(myLabel);
  74 + myLabel = new BMap.Label(
  75 + `<div class="dialog-wrap">
  76 + <div class="dialog-header" title="${data[item].plAddress}">${data[item].plName}</div>
  77 + <div class="dialog-address" title="${data[item].plAddress}">${data[item].plAddress}</div>
  78 + <ul class="dislog-body">
  79 + <li><div>${data[item].freeBrethNum}</div><div>空闲</div></li>
  80 + <li></li>
  81 + <li><div>${data[item].plBerthNum}</div><div>总数</div></li>
  82 + </ul>
  83 + <div class="dislog-footer">停车场收入:1293847.00元</div>
  84 + <div class="dislog-footer">停车场收入:1293847.00元</div>
  85 + </div>`,
  86 + {
  87 + offset: new BMap.Size(-225, -55), //label的偏移量,为了让label的中心显示在点上
  88 + position: pt
  89 + });
  90 + myLabel.setStyle({
  91 + // color: "#0f0",
  92 + // fontSize: "12px",
  93 + padding: "0",
  94 + // whiteSpace: "normal",
  95 + backgroundColor: "",
  96 + border: "0px",
  97 + zIndex: "1000"
79 98 }
80   -
81   -
82   - });
83   - marker.addEventListener("mouseout", function (e) {
84   - map.removeOverlay(myLabel);
85   - });
  99 + );
  100 + marker.setLabel(myLabel)
  101 + marker.setTop(true,27000000);
86 102 i++;
87 103 })(i);
88 104 }
... ... @@ -99,4 +115,6 @@ export default {
99 115 width: 100%;
100 116 height: 100%;
101 117 }
  118 +
  119 +
102 120 </style>
... ...
src/images/content/dialog-address.png 0 → 100644

769 Bytes

src/images/content/sectionsmall.png 0 → 100644

1.58 KB

src/style/reset.css
... ... @@ -130,4 +130,90 @@ table {
130 130  
131 131 .anchorBL{display:none;} /*去掉百度地图logo*/
132 132  
  133 +.dialog-wrap{
  134 + width:220px;
  135 + height: 160px;
  136 + padding:0 15px 15px 15px;
  137 + background:rgba(3,38,116,.7) url("../images/content/sectionsmall.png") no-repeat;
  138 + background-size: 100% 100%;
  139 +}
  140 +.dialog-header{
  141 + width: 220px;
  142 + height:34px;
  143 + line-height: 34px;
  144 + font-size: 14px;
  145 + font-weight:500;
  146 + overflow: hidden;
  147 + white-space: nowrap;
  148 + text-overflow: ellipsis;
  149 + color:rgba(255,255,255,.8);
  150 +}
  151 +.dialog-address{
  152 + height:22px;
  153 + font-size:12px;
  154 + padding-left: 20px;
  155 + font-family:PingFang-SC-Medium;
  156 + font-weight:500;
  157 + color:rgba(255,255,255,.4);
  158 + background: url("../images/content/dialog-address.png") no-repeat 0 3px;
  159 + background-size: 12px 12px
  160 +}
  161 +.dislog-body{
  162 + display: flex;
  163 + height: 50px;
  164 + background:#2577F5;
  165 +}
  166 +.dislog-body li{
  167 + text-align: center;
  168 + color: #fff;
  169 +}
  170 +.dislog-body li:nth-of-type(1),.dislog-body li:nth-of-type(3){
  171 + flex: 1;
  172 +}
  173 +.dislog-body li:nth-of-type(2){
  174 + width:1px;
  175 + height:31px;
  176 + margin-top: 9px;
  177 + background:rgba(5,41,112,.6);
  178 +}
  179 +.dislog-body li:nth-of-type(1) div:nth-of-type(1){
  180 + height: 25px;
  181 + line-height: 30px;
  182 + font-size: 24px;
  183 + color: #0ECF0E;
  184 +}
  185 +.dislog-body li:nth-of-type(1) div:nth-of-type(2),.dislog-body li:nth-of-type(3) div:nth-of-type(2){
  186 + height: 25px;
  187 + line-height: 25px;
  188 + color:rgba(69,195,243,1)
  189 +}
  190 +
  191 +.dislog-body li:nth-of-type(3) div:nth-of-type(1){
  192 + height: 25px;
  193 + line-height: 30px;
  194 + font-size: 24px;
  195 + color: #fff;
  196 +}
  197 +.dislog-footer{
  198 + height:25px;
  199 + line-height: 25px;
  200 + font-size:12px;
  201 + font-family:PingFang-SC-Regular;
  202 + font-weight:400;
  203 + color:rgba(7,179,245,1);
  204 +}
  205 +.dislog-footer-main{
  206 + height:34px ;
  207 + overflow-y: auto;
  208 +}
  209 +.dislog-footer-main li {
  210 + font-size:12px;
  211 + font-family:PingFang-SC-Regular;
  212 + font-weight:400;
  213 + color:rgba(7,179,245,1);
  214 + overflow: hidden;
  215 + white-space: nowrap;
  216 + text-overflow: ellipsis;
  217 +}
  218 +
133 219  
... ...