微信小程序实现获取准确的腾讯定位地址功能示例
程序员文章站
2023-11-17 08:43:58
本文实例讲述了微信小程序实现获取准确的腾讯定位地址功能。分享给大家供大家参考,具体如下:
官方参考文档:
逆地址解析(坐标位置描述)
1. 申请开发者密钥(key)与...
本文实例讲述了微信小程序实现获取准确的腾讯定位地址功能。分享给大家供大家参考,具体如下:
官方参考文档:
逆地址解析(坐标位置描述)
1. 申请开发者密钥(key)与设置
个人使用:登录,点击“key管理”,进入设置,选择“webserviceapi”,如果没有小程序id,勾选“授权ip”,如果有小程序id,勾选“域名白名单”,且勾选“微信小程序”,输入授权appid。
企业使用:登录企业微信公众号,选择“开发”-“开发者工具”,开通“腾讯位置服务”,进入后台管理;点击“key管理”,进入设置,勾选所需要使用的企业名下的小程序id,选择“webserviceapi”,勾选“域名白名单”。
2. 下载微信小程序javascriptsdk
3. 添加小程序地理位置说明
2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口,请及时填写地理位置用途说明
相关文档:
在app.json中添加以下代码
"permission": { "scope.userlocation": { "desc": "你的位置信息将用于小程序位置接口的效果展示" } }
4. js 代码
var qqmapwx = require('../../../page/common/sdk/qqmap-wx-jssdk.js'); var qqmapsdk = new qqmapwx({ key: 'key' }); console.log('signin') const _this = this; wx.getlocation({ type: 'gcj02', success: function (res) { qqmapsdk.reversegeocoder({ location: { latitude: res.latitude, longitude: res.longitude }, success: function (addressres) { //成功后的回调 var addressres = addressres.result; console.log( addressres.address) }, fail: function (error) { console.error(error); }, complete: function (addressres) { console.log(addressres); } }) } })
成功获取到的信息截图
微信开发者工具上进行测试的时候,定位不准确,需要启用“真机调试”,在手机上即可准确获取定位信息。
5. 百度地图坐标转化js
实际应用中发现腾讯地图定位的坐标不准确,地址正确但定位坐标相差很远,后期在地图上进行展示的时候建议使用百度地图,可以准确的在地图上显示。
代码写在获取地址成功调用里面。
var addressres = addressres.result; var x_pi = 3.14159265358979324 * 3000.0 / 180.0; var x = parsefloat(addressres.location.lng); var y = parsefloat(addressres.location.lat); var z = math.sqrt(x * x + y * y) + 0.00002 * math.sin(y * x_pi); var theta = math.atan2(y, x) + 0.000003 * math.cos(x * x_pi); var lng = z * math.cos(theta) + 0.0065; var lat = z * math.sin(theta) + 0.006; console.log(lng) console.log(lat)
希望本文所述对大家微信小程序设计有所帮助。