zoukankan      html  css  js  c++  java
  • uni app +vue 引用 百度地图API取位置,VUE用百度地图获取当前位置(城市)

    uni app +vue 引用 百度地图API取位置,VUE用百度地图获取当前位置(城市)
     
    1.在index.html 引入 百度js
    <script src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥" type="text/javascript"></script>
     
    2.创建js文件,放入以下代码:
     
    export default {
        init: function () {
            const AK = "lyFvtNiZ2fH1jWqGIRMAxDwDbMwvXgsv";
            const BMap_URL = 'https://api.map.baidu.com/api?v=2.0&ak=' + AK + '&s=1&callback=onBMapCallback';
            return new Promise((resolve, reject) => {
                // 如果已加载直接返回
                if (typeof BMap !== 'undefined') {
                    resolve(BMap);
                    return true;
                }
                // 百度地图异步加载回调处理
                window.onBMapCallback = function () {
                    resolve(BMap);
                };
                let getCurrentCityName = function () {
                    return new Promise(function (resolve, reject) {
                        let myCity = new BMap.LocalCity()
                        myCity.get(function (result) {
                            resolve(result.name)
                        })
                    })
                }
                // 插入script脚本
                let scriptNode = document.createElement("script");
                scriptNode.setAttribute("type", "text / javascript");
                scriptNode.setAttribute("src", BMap_URL);
                document.body.appendChild(scriptNode);
            });
        }
    }

    3.需要用的组件里开始引用和调用
    写在方法里,在mounted里调用–下面代码不可少

      mounted() {
        var isWeixn = this.is_weixn();
        if (isWeixn) {
          this.getCity();
        }
      },
      methods: {
        getCity() {
          map.init().then(BMap => {
            const locationCity = new BMap.Geolocation();
            var that = this;
            locationCity.getCurrentPosition(  
       function     getinfo(options){
                    let city = options.address.city;    //此处拿到位置相关信息
                    that.LocationCity = city;
                    console.log(options)
                  },
                  function (e){
                    that.LocationCity = '定位失败';
                    console.log('定位失败')
                  },
                  {provider: 'baidu'}
                )
              })
        },
    }    
  • 相关阅读:
    HDU4825/5536 [01 字典树/简单字典树更新]
    HDU 2017 多校联合Contest 3
    51nod 多重背包 [二进制优化]
    UVa 123042D Geometry 110 in 1! [平面几何]
    UVA 11796Dog Distance[平面几何]
    洛谷P1004 方格取数[多维dp]
    HDU 1576 A/B [逆元]
    POJ1006 中国剩余定理
    HDU 1573~3579 X问题&Hello Kiki[同余方程]
    一元线性同余方程组
  • 原文地址:https://www.cnblogs.com/FACESCORE/p/13150732.html
Copyright © 2011-2022 走看看