uniapp 在app中获取经纬度

在uniapp中app端,uni.getLocation获取经纬度会有大概1-2公里的偏差,在实际项目中,有的需求对经纬度的准确度要求比较严格,研究了很多种方式,最终发现使用高德地图api的微信小程序的插件获取的准确性是最准的,偏差最小的。

1.先去高德地图获取key,注意,这里是要获取微信小程序类型的key

2.然后回到首页开发支持-微信小程序插件中下载sdk(amap-wx.js )

 

 3.在项目中引入:按你自己的目录填写

import amap from "@/js_sdk/js-amap/amap-wx.130.js"

4.初始化

data中定义 amapPluginInstance:null,

methods中:

initMap() {
                this.amapPluginInstance = new amap.AMapWX({
                    key: 'a4cea069ff4d5df405d20b2f653fb5f4' //该key 是在高德中申请的微信小程序key
                });
                this.getCurrentPos()
},

getCurrentPos() {
                let _self = this;
                this.amapPluginInstance.getRegeo({
                    success: (res) => {
                        console.log(res); //可自己查看所需返回值取用
                        _self.address = res[0].regeocodeData.formatted_address;
                        _self.lat = res[0].latitude; //纬度
                        _self.lng = res[0].longitude; //经度
                        console.log("高德地图坐标经纬度:[" + _self.lat + "," + _self.lng + "]");
                    },
                    fail: (data) => {
                        console.log(data)
                    }
                })
            },

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值