一:获取经纬度
- 如果需求只是获取经纬度的话,这个功能就比较容易实现了,用微信自带的getLocation方法就可以了,使用如下:
wx.getLocation({ type: 'wgs84', success (res) { console.log('纬度' + res.latitude) console.log('经度' + res.longitude) } })
此时运行程序会报如下警告
提示已经说明了,需要在app.json里面添加permission,如下:
"permission": {
"scope.userLocation": {
"desc": "展示给客户看的信息"
}
},
二:获取当前城市
- 微信提供的方法只能获取经纬度,如果要获取省、市、区等信息,就要用到第三方了。
- 下面我就介绍一下如果接入腾讯地图实现
1、首先需要登录腾讯地图开发者官网,申请key和下载SDK,参考官网链接
2、将下载下来的SDK里面文件拉到自己项目里面
3、在要使用的js文件头部添加如下代码(require路径要对应拉进来的SDK文件路径)
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
4、在onLoad里面实例化API核心类
onLoad: function (options) {
// 实例化API核心类
qqmapsdk = new QQMapWX({
key: '申请的KEY'
});
},
5、在要使用的地方调用获取位置信息的方法
// 调用接口
qqmapsdk.reverseGeocoder({
success: function(res) {
console.log(res);
}
})
6、这个方法也需要在app.json里面添加permission,如上。
7、如果需要反编译其他经纬度,可参考官网链接
三:关于定位弹窗
- 每个小程序在一定时间内只会提示一次,不管你是否同意,再次调用获取位置方法,弹窗不会重复出现,如果想更改权限,到设置里面修改就可以了。
网友评论