uniapp获取当前位置(定位-经纬度及城市信息)
uniapp集成方法,跟小程序wx.getLocation不同,可直接获取经纬度及城市信息(当前你也可以先获取经纬度再解析成具体城市)uni.getLocation({type: 'wgs84',geocode:true,//设置该参数为true可直接获取经纬度及城市信息success: function (res) {console....
uniapp集成方法,跟小程序wx.getLocation不同,可直接获取经纬度及城市信息(当然你也可以先获取经纬度再解析成具体城市)
uni.getLocation({
type: 'wgs84',
geocode:true,//设置该参数为true可直接获取经纬度及城市信息
success: function (res) {
console.log(res)
that.addrDel = res;
},
fail: function () {
uni.showToast({
title: '获取地址失败,将导致部分功能不可用',
icon:'none'
});
}
});
注意:
1.高德地图APP端仅支持gcj02
2.近期发现,iOS就算geocode:true也无法返回address等城市具体信息,只有经纬度;
iOS需要多次调用才能返回address信息,官方说这个bug更新了,需要升级 HBuilderX 3.0.0+ 版本
3.有人说iOS返回的信息是wgs84的坐标,需要将wgs84转换成gcj02坐标(目前没有仔细去测,有发现坐标不准确的可以自行去转换试一下,以下是转换方法)
转换方法:
npm install下载作为node模块引入
npm install wgs2mars --save-dev
然后在项目中引入
var transform = require('wgs2mars');
var gcjloc = transform(119.3122312,26.0240049);// 返回{lng: 119.31705425869873, lat: 26.02096344048847}
地图配置:
开启Maps权限:manifest.json文件中选择App模块配置,勾选Maps,选择高德或百度(官方推荐高德,我这里也是使用的高德地图)
地图配置:参考文档 地图插件配置 - DCloud问答
配置地图很快,注册个账号,根据文档操作就行,最好去生成个keystore文件,包名就是打包用的包名,ios的如果暂时不知道可以随便填一个,后面可以修改的
后台MySQL根据经纬度查询附近的地址信息,可参考本人另一篇文章 MySQL获取附近的人 地点范围限制
更多推荐
所有评论(0)