主要分解爲以下步驟:javascript
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your token "></script>
externals: { "BMap": "BMap" },
<template> <!--<div id="allmap" style="width: 100%; height: {{mapHeight}}px"></div>--> <!--<div id="allmap":style="{width: '100%', height: mapHeight + 'px'}"></div>--> <div id="allmap" v-bind:style="mapStyle"></div> </template> <script> export default { data:function(){ return{ mapStyle:{ width:'100%', height:this.mapHeight +'px' } } }, props:{ // 地圖在該視圖上的高度 mapHeight:{ type:Number, default:500 }, // 經度 longitude:{ type:Number, default:116.404 }, // 緯度 latitude:{ type:Number, default:39.915 }, description:{ type:String, default:'天安門' } }, ready:function(){ var map =newBMap.Map("allmap"); var point =newBMap.Point(this.longitude,this.latitude); var marker =newBMap.Marker(point); map.addOverlay(marker); map.centerAndZoom(point,15); // 信息窗的配置信息 var opts ={ width :250, height:75, title :"地址:", } var infoWindow =newBMap.InfoWindow(this.description, opts);// 建立信息窗口對象 marker.addEventListener("click",function(){ map.openInfoWindow(infoWindow,point); }); map.enableScrollWheelZoom(true); map.openInfoWindow(infoWindow,point);//開啓信息窗口 } } </script> <!--Add"scoped" attribute to limit CSS to this component only --> <style scoped> </style>
<b-map-component></b-map-component>