在你需要定位的时间里面加上
wx.getLocation({
type: 'wgs84',
success (res) {
const latitude = res.latitude
const longitude = res.longitude
const speed = res.speed
const accuracy = res.accuracy
}
})
小程序自带的定位打印出来的是坐标如图下所示
但是需求是需要转换成文字,此时我们使用腾讯地图,打开腾讯地图的开发者api申请密钥,
使用qqmap-wx-jssdk帮助我们转换坐标为具体文字描述,附上qqmap-wx-jssdk地址
https://pan.baidu.com/s/1vZwpCoY-3l2a0LtAXgfPwg
我们把下载好的qqmap-wx-jssdk.js放在你想放的路径,然后在你写定位的js页面引入qqmap-wx-jssdk.js
如图我是放在util文件夹下面的
const QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
// 城市定位
positioning:function(){
var that = this;
//key这里填上自己刚申请的密钥
let qqmapsdk = new QQMapWX({
key: 'xxxxxxxxxxxx'
})
wx.getLocation({
type: 'wgs84',
success: function(res) {
const latitude = res.latitude;
const longitude = res.longitude;
const speed = res.speed;
const accuracy = res.accuracy;
//这里打印的是坐标数据
console.log(res);
qqmapsdk.reverseGeocoder({
location: {
latitude: latitude,
longitude: longitude
},
success: function (e) {
//这里就可以成功转换为具体描述了
console.log(e);
var location = e.result.address_component.city;
// console.log(e.result.address_component.city);
that.setData({
positioning: location
})
}
})
},
fail:function(){
wx.showToast({
title: '定位获取失败',
icon:'none'
})
}
})
}
下面是成功转换后的打印结果,转换成了自己想要的结果就可以操作数据了
在一个项目中如有重复使用点位可以把这个函数封装一下哦