vue 调用百度地图API生成地图
Posted yangzhix
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于vue 调用百度地图API生成地图的主要内容,如果未能解决你的问题,请参考以下文章