vue 調用百度地圖API生成地圖


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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM