美文网首页
vue异步调用百度地图

vue异步调用百度地图

作者: 饼饼_佳 | 来源:发表于2017-07-08 21:14 被阅读0次

Vue 异步调用百度地图

新建一个map.js

  • 在src/assets创建一个map.js
export function MP(ak) {
    return new Promise(function(resolve, reject) {
        window.onload = function() {
            resolve(BMap)
        }
        if(!window.BMap){
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src = "http://api.map.baidu.com/api?v=2.0&ak=" + ak + "&callback=init";
            script.onerror = reject;
            document.head.appendChild(script);
        }

    })
}

在你的百度地图页面中调用

  • 在组件中导入
import {
    MP
} from '@/assets/map'
  • 在组件中使用
mounted: function() {
    var that = this;
    this.$nextTick(function() {
        MP('ak') //ak改成你的ak
            .then(BMap => {
                var geolocation = new BMap.Geolocation();
                geolocation.getCurrentPosition(function(r) {
                    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                        var lon = r.point.lng
                        var lat = r.point.lat
                        var point = new BMap.Point(lon, lat);
                        // 根据坐标得到地址描述
                        var myGeo = new BMap.Geocoder();
                        myGeo.getLocation(point, function(result) {
                            var city = result.addressComponents.city;
                            var prov = result.addressComponents.province;
                            that.location = city
                            that.lng = lat + ',' + lon
                            that.prov = prov
                            if (city) {
                                that.location = city
                            } else {
                                that.location = '定位失败'
                            }
                        });
                    }
                }, {
                    enableHighAccuracy: true
                })
            })
    })
},

推荐一个百度地图的 插件 (vue-baidu-map

https://github.com/Dafrok/vue-baidu-map

相关文章

  • vue异步调用百度地图

    Vue 异步调用百度地图 新建一个map.js 在src/assets创建一个map.js 在你的百度地图页面中调...

  • vue 百度地图API

    VUE中如何异步加载百度地图API 有问题请留言,赶工中,不能拆分整理 参考 https://dafrok.git...

  • 04Vue的前后端交互

    Vue的前后端交互 Promise用法 异步调用 触发异步调用的方式定时任务Ajax事件函数 多次异步调用的依赖分...

  • 调用地图app或网页版地图

    通过链接调用百度地图app或者高德地图app 百度地图 "http://api.map...

  • 百度地图调用api

    1.注册百度地图用户 2.百度地图中创建应用,获取ak值 3.调用 (1)调用百度地图api 在应用中填写自己获取...

  • 地图

    Android调用第三方地图,高德地图,百度地图!

  • Vue 百度地图定位功能

    转载自:Vue 百度地图定位功能 先去百度平台申请一个ak接口 百度:百度地图开放平台 地址:地址 Vue 的更目...

  • 百度地图API调用

    调用百度地图的API可以非常方便的实现我们需要的地图的功能,今天研究了一下调用百度地图API,显示定位信息、地图标...

  • 8.25兄弟会

    js调用百度地图api实现定位 百度地图的API,接口很丰富,实现定位功能 // 百度地图API功能 varmap...

  • Vue调用百度地图的用法

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

网友评论

      本文标题:vue异步调用百度地图

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