1.項目根目錄下下載百度地圖插件
npm install vue-baidu-map –save
2.在首頁index.html中引入百度地圖:
<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=秘鑰"></script>
申請密鑰地址 :http://api.map.baidu.com/lbsapi/createmap/index.html
3.在顯示地圖的組件中 template 中:
<div class="baidumap" id="allmap"></div> //地圖的容器
4.在顯示地圖的組件中 script 中:
<script>
export default {
name: 'Bmap',
components: {
},
mounted() {
this.baiduMap()
},
methods: {
baiduMap() {
var map = new BMap.Map('allmap')
var point = new BMap.Point(115.043096, 38.592132) // 創建點坐標
map.centerAndZoom(point, 12) // 初始化地圖,設置中心點坐標和地圖級別
map.enableScrollWheelZoom(true) //開啟鼠標滾輪縮放
map.addControl(new BMap.NavigationControl())
map.addControl(new BMap.ScaleControl())
map.addControl(new BMap.OverviewMapControl())
map.addControl(new BMap.MapTypeControl())
//map.setMapStyle({ style: 'midnight' }) //地圖風格
var marker = new window.BMap.Marker(point) // 創建標注
map.addOverlay(marker) // 將標注添加到地圖中
//提示信息
var infoWindow = new BMap.InfoWindow('這是提示信息')
// 鼠標移上標注點要發生的事
marker.addEventListener('mouseover', function() {
this.openInfoWindow(infoWindow)
})
// 鼠標移開標注點要發生的事
marker.addEventListener('mouseout', function() {
//this.closeInfoWindow(infoWindow)
})
}
}
}
</script>
5.在顯示地圖的組件中 style 中改變一下默認樣式:
.baidumap {
width: 1000px;
height: 500px;
border: 1px solid red;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
}
/* 去除百度地圖版權那行字 和 百度logo */
.baidumap > .BMap_cpyCtrl {
display: none !important;
}
.baidumap > .anchorBL {
display: none !important;
}
完整的代碼:
<template> <div class="baidumap" id="allmap"></div> </template> <script> export default { name: 'Bmap', components: { }, mounted() { this.baiduMap() }, methods: { baiduMap() { var map = new BMap.Map('allmap') var point = new BMap.Point(115.043096, 38.592132) // 創建點坐標 map.centerAndZoom(point, 12) // 初始化地圖,設置中心點坐標和地圖級別 map.enableScrollWheelZoom(true) //開啟鼠標滾輪縮放 map.addControl(new BMap.NavigationControl()) map.addControl(new BMap.ScaleControl()) map.addControl(new BMap.OverviewMapControl()) map.addControl(new BMap.MapTypeControl()) //map.setMapStyle({ style: 'midnight' }) //地圖風格 var marker = new window.BMap.Marker(point) // 創建標注 map.addOverlay(marker) // 將標注添加到地圖中 //提示信息 var infoWindow = new BMap.InfoWindow('這是提示信息') // 鼠標移上標注點要發生的事 marker.addEventListener('mouseover', function() { this.openInfoWindow(infoWindow) }) // 鼠標移開標注點要發生的事 marker.addEventListener('mouseout', function() { //this.closeInfoWindow(infoWindow) }) } } } </script> <style> .baidumap { width: 1000px; height: 500px; border: 1px solid red; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; } /* 去除百度地圖版權那行字 和 百度logo */ .baidumap > .BMap_cpyCtrl { display: none !important; } .baidumap > .anchorBL { display: none !important; } </style>

