功能需求

微信小程序提供的接口能够获取到当前位置的坐标(经纬度),但是不能得到当前位置的地址。或者从后台获取到坐标(经纬度)要解析成文字描述的地址小程序也没有对应的接口。

实现思路

这时候就需要通过腾讯位置服务来实现,在这之前你得有腾讯位置服务的账号和开发密钥(key)。实现过程我就简单贴出来,大家可以参看官网上的步骤,这里主要给大家解决两个坑(见报错处理)。

官网:http://lbs.qq.com/index.html

关键代码

// 引入SDK核心类
var QQMapWX = require('../../utils/js/qqmap-wx-jssdk.js');
var qqmapsdk;Page({onLoad: function () {// 实例化API核心类var qqmapsdk = new QQMapWX({key: 'xxxx-xxxx-xxxx-xxxx-xxxx-xxxx' // 开发密钥(key)必填});},// 获取当前地理坐标onReady: function () {var _this = this;wx.getLocation({type: 'gcj02',altitude: true,success: (res) => {var latitude = res.latitude // 经度var longitude = res.longitude // 纬度// 根据坐标调用 pointToAddress 方法_this.pointToAddress(latitude, longitude, function (address) {// 得到最终地址console.log(address);}}})},// 定义 pointToAddress 方法pointToAddress: function (latitude, longitude, callback) {var _this = this;// 调用接口qqmapsdk.reverseGeocoder({location: {latitude: latitude,longitude: longitude},success: function (res) {// 解析成功返回地址callback(res.result.address);},fail: function (res) {console.log(res);},complete: function (res) {console.log(res);}});},
})

报错处理

常见报错(一)

报错:http://apis.map.qq.com 不在以下 request 合法域名列表中

原因:出现这个报错是因为你在小程序中发起了wx.request请求,但是请求的域名(http://apis.map.qq.com)没有在微信公众平台后台配置。

解决方法:配置request合法域名,把https://apis.map.qq.com添加到你的request合法域名中。(微信公众平台—设置—开发设置—服务器域名)。

Tips:添加后刷新项目,并重新编译才会有效果,否则可能无效。

常见报错(二)

报错:请求来源未被授权

原因:没有配置开发密钥(key)或者配置错误。

解决方法:在腾讯位置服务平台(https://lbs.qq.com/)设置开发密钥(key)的 WebServiceAPI 授权IP。(控制台—密钥(key)管理—密钥设置)。

第一步:勾选微信小程序,并填写小程序ID。

第二步:勾选WebServiceAPI,并设置授权IP(你的服务器域名或IP)。

Tips:同样添加后刷新项目,并重新编译才会有效果,否则可能无效。

测试结果

测试没问题,能取到数据,并且零报错。

Tips:这些方法不仅适用于坐标解析(reverseGeocoder),还适用于距离计算(calculateDistance),地点搜索(search),获取城市列表(getCityList)等等场景。

微信小程序根据坐标点解析地址常见报错:请求来源未被授权相关推荐

  1. 微信小程序 知道商家的具体地址但不知道经纬度 如何通过自身的位置 再通过距离的远近接单?

    认定了 就要好好的珍惜对待,人生不容辜负,你必须要更加努力 .加油 骚年. 微信小程序 知道商家的具体地址但不知道经纬度 如何通过自身的位置 再通过距离的远近接单? 话不多说 按步骤来就完事了 第一步 ...

  2. 微信小程序|area组件使用的地址数据文件plus

    area组件使用的地址数据文件 前言 1.解析json的地址转换为area.js的格式 2.转换格式的java代码 3.运行结果截图示意 前言 实战篇内容参考: 1.腾讯的全球地址数据文件及Xml-& ...

  3. 二当家的官网微信小程序源码实例解析

    版权声明:转载请注明原创地址 https://blog.csdn.net/u013032788/article/details/54376774 二当家的官网微信小程序源码实例解析,微信小程序开发教程 ...

  4. Android微信小程序原理,微信小程序事件流原理解析

    这篇文章主要介绍了微信小程序事件流原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.什么是事件? 事件是视图层到逻辑层的通讯方式: 事件可 ...

  5. 微信小程序如何在地图选择地址并返回经纬度

    微信小程序如何在地图选择地址并返回经纬度 微信小程序的地址管理中,经常需要获取地址的详细地址信息和地址经纬度信息 实现效果: var that = thiswx.chooseLocation({suc ...

  6. 微信小程序——获取视频的URL地址【已解决】

    微信小程序--获取视频的URL地址[已解决] 如何获取音乐MV的URL地址 虾米音乐 试了很多音乐网站发现"虾米音乐"的MV的URL地址是可以获取的,并且在微信小程序播放视频的时候 ...

  7. 微信小程序使用腾讯位置服务地图选点实现地址的选取|微信小程序腾讯位置服务地图选点请求来源未被授权

    效果图 首先要在微信开放平台的小程序里 添加插件 具体配置,可以参考官方文档 腾讯位置服务地图选点 | 小程序插件 | 微信公众平台 (qq.com) 同时还要申请接口的权限,不然小程序上线的时候不能 ...

  8. 微信小程序使用真机或开发工具进行http请求开发测试亲测有效

    微信小程序使用真机或开发工具进行http请求开发测试 1使用微信开发这工具进行http请求的配置 2:真机进行http请求 微信开发这平台要求上线微信小程序配置的合法域以及网络请求名必须是https, ...

  9. wxparse的使用php返回数组输出,微信小程序中WxParse循环解析返回的富文本数据

    WxParse循环解析 一.遇到问题 最近在做小程序,遇到这样一个需求: 将百度的Ueditor编辑器存入的文本数据显示在小程序中,需要保留之前的样式,这就用到了 WxParse插件,它能够用解析ht ...

最新文章

  1. vmware horizon view 添加vcenter server
  2. python语言属于-Python语言属于( )。_学小易找答案
  3. Linux(CentOS)升级gcc到4.8.5版本
  4. ug导出step文件失败_解决UG导出CAD图纸失败的问题
  5. mac os touch命令_MacOS系统终端常用命令大全
  6. devise的使用的中文教程
  7. html 简单动画效果,HTML-简单动画
  8. Devexpress 各版本中文语言包
  9. html js 实现图片的简单分页功能
  10. FreeRADIUS 3.0安装配置
  11. 转型实践|产品设计从青铜到王者—青铜篇
  12. java一个字符几个字节_Java 语言中一个字符占几个字节?
  13. Activiti工作流的流转任务和结束任务
  14. Mac苹果电脑在线重装系统教程
  15. AOJ-AHU-OJ-675 定位赛
  16. Python矩阵计算-Numpy
  17. 面试现场:今日头条(一面已通过)
  18. 计算机快捷键知识点,电脑常用快捷键复习知识点.pdf
  19. python3遍历目录查找文件
  20. 微信小程序 星级评分(例如店铺小数点评分)

热门文章

  1. Linear Algebra lecture6 note
  2. 在 asp.net core \ vs2015 update2 情况况下创建 asp.net core web application 的问题
  3. windows下用GCC编译DLL
  4. jquery getJSON 中对超时Timeout的处理
  5. linux devm_request_irq 引发BUG sleeping function called from invalid context问题
  6. Android Hal层简要分析
  7. Redis实现分布式锁1
  8. 一个简单的freemark输入输出的案例(一)
  9. poj1740 A New Stone Game
  10. Linux基础7 文件管理类命令