美文网首页
在vue项目中使用百度地图

在vue项目中使用百度地图

作者: 暗黑破坏美男子 | 来源:发表于2019-03-07 15:05 被阅读0次

1.首先在新建的vue项目中build文件夹下的webpack.base.conf.js文件中进行如下配置。

module.exports = {

  context: path.resolve(__dirname, '../'),

  entry: {

    app: './src/main.js'

  },

  externals: {

    "BMap": "BMap"

  },

2.配置完成后在 http://lbsyun.baidu.com/apiconsole/key申请密钥(ak),如果是前端开发者记得应用类型一定要选择浏览器端。

3.在vue项目下的index.html中添加

<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=你申请的ak"></script>

如图所示:


index.png

其中的getscript也可以写成api,如果使用api会发现控制台有警告信息,如图所示:


error.png

错误原因是:页面渲染完成后使用了document.write()。

4.在使用到地图的页面引入BMap,在monuted函数中进行地图初始化等一系列的地图操作,切记只有dom加载完毕后地图才能初始化。完整页面代码如下所示:

<template>
    <div class="pc-map">
        <div id="allmap" class="allmap"></div> 
    </div>
</template>

<script>
import BMap from 'BMap'
export default {
    name: 'HelloWorld',
    data () {
        return {
        msg: 'Welcome to Your Vue.js App'
        }
    },
    mounted () {
        /**================================================= 地图初始化 start ============================================*/
        var map = new BMap.Map("allmap");    // 创建Map实例
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  // 初始化地图,设置中心点坐标和地图级别
        //添加地图类型控件
        map.addControl(new BMap.MapTypeControl({
            mapTypes:[
                BMAP_NORMAL_MAP,
                BMAP_HYBRID_MAP
            ]}));     
        map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的
        map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
        /**================================================= 地图初始化 end ============================================*/
        
        /**================================================= 添加信息窗口 start ============================================*/
        var opts = {    
            width : 250,     // 信息窗口宽度    
            height: 100,     // 信息窗口高度    
            title : "Hello"  // 信息窗口标题   
        }

        var infoWindow = new BMap.InfoWindow("World", opts);  // 创建信息窗口对象    
        map.openInfoWindow(infoWindow, map.getCenter());      // 打开信息窗口
    }
}
</script>

<style scoped>
#allmap {
    height: 100vh;
}
</style>

5.最后使用npm install下载包,再重新启动项目,就可以使用百度地图了。

相关文章

  • vue/react网页端地图(百度、高德等)

    此教程通用 与百度、高德地图等,在vue或react项目中用法大致一直。 主要介绍高德地图在vue的使用方法 一、...

  • 2019-07-24

    使用vue-cli框架创建的项目,微信公众号来获取当前的坐标位置,去百度地图申请你的ak,在index.html中...

  • 2019-08-05

    百度地图在vue中的简单使用 效果如图: (使用前先申请密钥) 1.首先就是引入百度地图了,方式有两种, 第一种:...

  • vue install vue-amap (个人收藏)

    第一次遇到地图的项目,作为一个地图小白,首先不知道用什么地图,就百度了一下vue能使用的地图,就找到了vue-am...

  • vue+vue-amap高德地图偏移与中心点居中问题

    第一次遇到地图的项目,作为一个地图小白,首先不知道用什么地图,就百度了一下vue能使用的地图,就找到了vue-am...

  • Vue调用百度地图的用法

    1,引入百度地图 import BaiduMap from 'vue-baidu-map' 使用你引入的百度地图插...

  • Vue2.0与 [百度地图] 结合使用———vue+webpac

    Vue2.0与 [百度地图] 结合使用: 1.vue init webpack-simple vue-baidu-...

  • Vue百度地图center偏移问题

    最近在vue项目中用到了百度地图,UI是在tab切换到“地图”时显示地图。但是遇到了地图显示时,设定的center...

  • 天地图之定位信息详解

    最近的项目涉及到百度地图的使用,项目组通知使用天地图替代百度地图,一个原因是天地图是国家测绘地理信息局建设的,企业...

  • bing Map 在vue项目中的使用

    bing Map 在vue项目中的使用 写在最前面 拥有全球数据库国内好像就只有百度地图有,高德、搜狗、腾讯的都不...

网友评论

      本文标题:在vue项目中使用百度地图

      本文链接:https://www.haomeiwen.com/subject/qwmcpqtx.html