微信小程序实现获取准确的腾讯定位地址功能示例

 更新时间:2019年03月27日 11:28:52   作者:程序媛小六  
这篇文章主要介绍了微信小程序实现获取准确的腾讯定位地址功能,结合实例形式详细分析了微信小程序使用腾讯地理位置接口的相关注册、操作步骤及接口使用技巧,需要的朋友可以参考下

本文实例讲述了微信小程序实现获取准确的腾讯定位地址功能。分享给大家供大家参考,具体如下:

官方参考文档:https://lbs.qq.com/qqmap_wx_jssdk/index.html

逆地址解析(坐标位置描述)

1. 申请开发者密钥(key)与设置

个人使用:登录,点击“key管理”,进入设置,选择“WebServiceAPI”,如果没有小程序ID,勾选“授权IP”,如果有小程序ID,勾选“域名白名单”,且勾选“微信小程序”,输入授权APPID。
https://lbs.qq.com/console/key.html
企业使用:登录企业微信公众号,选择“开发”-“开发者工具”,开通“腾讯位置服务”,进入后台管理;点击“key管理”,进入设置,勾选所需要使用的企业名下的小程序ID,选择“WebServiceAPI”,勾选“域名白名单”。

2. 下载微信小程序JavaScriptSDK

3. 添加小程序地理位置说明

2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口,请及时填写地理位置用途说明

相关文档:https://developers.weixin.qq.com/community/develop/doc/000ea276b44928f7e8d73d0a65b801?idescene=6

在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)

希望本文所述对大家微信小程序设计有所帮助。

相关文章

  • JavaScript表单焦点自动切换代码

    JavaScript表单焦点自动切换代码

    这篇文章主要介绍了JavaScript表单焦点自动切换代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • JavaScript中的16进制字符介绍

    JavaScript中的16进制字符介绍

    最早接触到\unnn之类的字符是在微软的官网上。当时在网上找了一下这中字符格式,却不知道该搜什么
    2011-10-10
  • javascript数据结构之双链表插入排序实例详解

    javascript数据结构之双链表插入排序实例详解

    这篇文章主要介绍了javascript数据结构之双链表插入排序实现方法,较为详细的分析了插入排序的原理及双链表插入排序的实现技巧,对于学习JavaScript数据结构具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 如何在 xHTML 中验证 noscript+meta refresh 标签

    如何在 xHTML 中验证 noscript+meta refresh 标签

    这篇文章主要介绍了如何在 xHTML 中验证 noscript+meta refresh 标签,需要的朋友可以参考下
    2023-03-03
  • 微信小程序云开发实现搜索功能

    微信小程序云开发实现搜索功能

    这篇文章主要为大家详细介绍了微信小程序云开发实现搜索功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • JS对象与json字符串相互转换实现方法示例

    JS对象与json字符串相互转换实现方法示例

    这篇文章主要介绍了JS对象与json字符串相互转换实现方法,结合实例形式分析了js对象与json字符串相互转换的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • JS打印gridview实现原理及代码

    JS打印gridview实现原理及代码

    打印gridview对于一些童鞋们真的是很陌生啊,不过没有关系,因为本文的出现,或让你茅塞顿开,好了话不多说,感兴趣的朋友可以了解下,或许对你学习js高级知识有所帮助
    2013-02-02
  • JS字符串拼接的几种方式(最新推荐)

    JS字符串拼接的几种方式(最新推荐)

    在 JavaScript 中,使用字符串连接有 几 种方式:连接符(+)、反引号(`)、join()、concat(),这篇文章主要介绍了JS字符串拼接的几种方式,需要的朋友可以参考下
    2023-01-01
  • JavaScript实现动态生成表格案例详解

    JavaScript实现动态生成表格案例详解

    本文主要介绍了通过JavaScript实现一个动态添加表格的案例,当点击添加按钮时,可以弹出一个表单,然后将输入的内容添加到表格中,也可以将表格中的整行内容清除。感兴趣的可以学习一下
    2021-12-12
  • js apply/call/caller/callee/bind使用方法与区别分析

    js apply/call/caller/callee/bind使用方法与区别分析

    js apply/call/caller/callee/bind使用方法与区别分析,需要的朋友可以参考下。
    2009-10-10

最新评论