本篇文章主要介绍了浅谈Vue下使用百度地图的简易方法,现在分享给大家,也给大家做个参考。

Vue下使用百度地图的简易方法,分享给大家,具体如下:

最近的项目里面,需要用到将具体地址转换成百度坐标系的经纬度,需求比较简单,所以就没有采用GitHub里面的百度Vue插件。

废话不说,直接贴出代码:

引入:在需要用到百度地图的组件里面直接引入

export default {
  methods: {
    loadBMapScript () {
      let script = document.createElement('script');
        script.src = 'http://api.map.baidu.com/api?v=3.0&ak=你的akKey&callback=bMapInit';
        document.body.appendChild(script);
    },
    qeuryLocation () {
      let myGeo = new BMap.Geocoder();
        // 地址转换成坐标系
        myGeo.getPoint('北京市海淀区上地10街10号', function (point) {
          if (point) {
            console.log(point);
          }
        },
        '北京市');
    }
  },
  mouted () {
    this.loadBMapScript();
    window['bMapInit'] = () => {
      this.qeuryLocation();
    };
  }
}
登录后复制

至此,就能够开始正常的使用百度地图了。

按照官方文档写的代码报了以下图示的错:

浅谈Vue下使用百度地图的简易方法-LMLPHP

经过多方考察最终发现造成这个的原因是页面加载顺序导致的,这点在官网上也有提示,详细请查看官方文档

由于我用的是vue2.0,所以我是在mounted方法中调用的以下两个方法:

var map = new BMap.Map("container");  //创建地图实例,注意在调用此构造函数时应确保容器元素已经添加到地图上
var point = new BMap.Point(116.404, 39.915); //创建点坐标, 地图必须经过初始化才可以执行其他操作
登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

js+canvas实现滑动拼图验证码功能

JS从非数组对象转数组的方法小结

深入理解Node module模块

以上就是浅谈Vue下使用百度地图的简易方法的详细内容,更多请关注Work网其它相关文章!

09-17 13:33