前导知识

1. 腾讯地图SDK接入

1. 申请开发者密钥
打开网址 https://lbs.qq.com/console/key.html,申请密钥,填写信息单击“提交”按钮,弹出提示内容 “key创建成功”,单击蓝色按钮设置 key,根据需求选中选项,如下图所示。


2. 下载微信小程序 JavaScriptSDK
官方下载地址:http://3gimg.qq.com/lightmap/xcx/jssdk/qqmap-wx-jssdk1.0.zip

3. 登录小程序管理后台
设置安全域名,在 “设置” - “开发设置” 中设置 “request合法域名”,添加 https://apis.map.qq.com。如下图所示。

核心代码讲解

小程序提供了打开微信内置地图的 API 和定位用户位置的 API,需要用户授权才能使用,也就是会自动提示用户“是否同意获取您的位置”,同意后即可获取。

  1. 在 app.json 文件中声明 permission 属性
"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序定位展示"}}
  1. 引入 SDK核心类,并且实例化,用于后期调用
// 引入SDK核心类
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
var qqmap
// 实例化API核心类
var qqmapsdk = new QQMapWX({key: '开发密钥(key)' // 必填
});
  1. 当用户授权后,获取当前用户的地理位置(微信返回的是经纬度、速度等参数)
// 获取当前位置(经纬度)onReady() {let vm = this;wx.getLocation({type: 'gcj02',success: (res) => {this.setData({latitude: res.latitude,   //纬度longitude: res.longitude  //经度})},})},
  1. 微信没有将经纬度直接转换为地理位置,借用腾讯位置服务中关于微信小程序的地理转换JS SDK 的API(返回信息中包括国家,省,市,区,经纬度等地理位置)

查询API文档获得如下信息:
reverseGeocoder(options:Object)逆地址解析 。该接口提供由坐标到坐标所在位置的文字描述的转换。输入坐标返回地理位置信息和附近poi列表。目前应用于物流、出行、O2O、社交等场景。服务响应速度快、稳定,支撑亿级调用。

  • 满足传统对省市区、乡镇村、门牌号、道路及交叉口、河流、湖泊、桥、poi列表的需求。
  • 业界首创,提供易于人理解的地址描述:海淀区中钢国际广场(欧美汇购物中心北)。
  • 提供精准的商圈、知名的大型区域、附近知名的一级地标、代表当前位置的二级地标等。

注:坐标系采用gcj02坐标系

核心代码

getUserLocation() {let vm = thisqqmap.reverseGeocoder({ //逆地址解析(经纬度 ==> 坐标位置)//位置坐标,默认获取当前位置,非必须参数/*** //Object格式location: {latitude: 39.984060,longitude: 116.307520},*//***//String格式location: '39.984060,116.307520',*/location: {latitude: vm.data.latitude,longitude: vm.data.longitude},success(res) {vm.setData({province:res.result.ad_info.province,city:res.result.ad_info.city,district:res.result.ad_info.district})}})}

完整代码

index.wxml页面代码

<view>经度:{{longitude}}---纬度:{{latitude}}</view>
<view>{{province}}---{{city}}---{{district}}</view>

index.js脚本文件

// 引入SDK核心类
var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
var qqmap
Page({data: {longitude: '', //经度latitude: '', //纬度province: '', //省city: '', //市district: '' //区/县},onLoad() {// 实例化API核心类qqmap = new QQMapWX({key: '开发密钥(key)' // 必填})},// 获取当前位置(经纬度)onReady() {let vm = this;wx.getLocation({type: 'gcj02',success: (res) => {this.setData({latitude: res.latitude,longitude: res.longitude})vm.getUserLocation()},})},// 获取用户当前位置getUserLocation() {let vm = thisqqmap.reverseGeocoder({ //逆地址解析(经纬度 ==> 坐标位置)location: {latitude: vm.data.latitude,longitude: vm.data.longitude},success(res) {console.log(res)vm.setData({province:res.result.ad_info.province,city:res.result.ad_info.city,district:res.result.ad_info.district})}})}
})

app.json文件

{"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序定位展示"}}
}

运行结果


【微信小程序】调用腾讯地图获取当前城市定位相关推荐

  1. 微信小程序调用腾讯地图API进行驾车路线规划

    微信小程序调用腾讯地图API进行驾车路线规划 申请key 下载sdk 实现代码 遇到的问题 申请key 微信小程序的地图api是非常有限的,所以部分功能实现需要调用地图api.使用腾讯地图api过程如 ...

  2. 微信小程序调用腾讯地图,获取当前位置得到数据有偏差以及不同软件,不同坐标之间的转换Gcoord

    前言: 在微信小程序中调用腾讯本家地图后,发现有偏差,而且距离还不小,在找了很多资料后,发现网上的资料很多都是挂羊头卖狗肉,都是坐标轴之间的互转,比如腾讯的坐标和百度坐标之间的转换,还起的名字是解决小 ...

  3. 微信小程序使用 腾讯地图 获取 当前地理位置

    申请密钥 腾讯地图 地址 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview 根据以下四步,配置好 request ,然后获取 ...

  4. 微信小程序-调用腾讯地图插件实现定点,路线规划,地铁图,服务拓展(逆地址解析,地点搜索)

    实现流程 实现思路 使用工具 基础介绍 小程序结构介绍 整体代码结构 调用插件 主页分析 定点 出行规划服务 地铁图服务 接口能力 逆地址解析 地点搜索 注意问题 问题 仓库地址 实现思路 选择小程序 ...

  5. uni-app开发微信小程序使用腾讯地图选点和城市选择器插件

    文章目录 前言 效果图 第一步.登录腾讯地图申请属于自己小程序的key 第二步.登录微信公众平台添加插件 第三步.引入插件包,配置定位允许授权 第四步.通过点击事件使用插件 第五步.拿到插件接口返回的 ...

  6. uni-app微信小程序结合腾讯地图获取定位导航以及城市选择器

    目录 第一步:登录小程序公众平台==>设置==>第三方设置 第二步:登录腾讯地图申请属于自己小程序的key 第三步:找到腾讯地图的插件​​​​​​​ 第四步:添加插件与允许授权 第五步:使 ...

  7. 微信小程序调用腾讯地图选点

    业务: 小程序中实现选择地址 解决方案: 1.在小程序后台的设置>第三方设置>在插件管理中添加插件搜索>腾讯位置服务地图选点 2.插件引入后可以点击详情查看文档 (1)首先在app. ...

  8. 微信小程序 - 调用腾讯地图插件

    1. 登录公众号平台 https://mp.weixin.qq.com/ 2. 设置->第三方服务->添加插件->输入插件名称->申请 3. 项目中使用 3.1 app.jso ...

  9. 微信小程序调用腾讯地图,点击选择并返回选择位置数据!

    选择前 选择位置 选择后 上代码:WXML <view class="cu-form-group border-bottom"><view class=" ...

最新文章

  1. Windows Azure真实案例:微软IT-将拍卖工具搬移至云端,方便雇员捐赠
  2. 明星软件工程师的十种特质
  3. 用C语言写的迅雷看看XV文件提取器及C语言源代码
  4. 深度学习(19)神经网络与全连接层二: 测试(张量)实战
  5. 服务器是计算机的一种 是指,pc服务器是指什么意思
  6. 【Linux导论】Linux引导流程(The Boot Process)
  7. 悼念512汶川大地震遇难同胞——选拔志愿者【博奕】
  8. SpringIOC容器-对象依赖
  9. ajax中return取不到值的问题
  10. Direct3D播放RGB(通过Texture)
  11. android 移除泛型中元素_最新(2020)Android高级面试知识点干货分享(二)
  12. android:windowSoftInputMode属性使用
  13. XJOI 3266 Dyeing 染色 题解
  14. 学习笔记:Oracle的trace文件可见性
  15. 11.Linux 高性能服务器编程 --- 定时器
  16. Photoshop又来神器!人脸动态捕捉来了!
  17. freeCodeCamp Falsy Bouncer
  18. 中兴2618交换机的STP环网基本操作
  19. 2018年Java大企业面试问题
  20. 对搜狗搜索引擎的评价

热门文章

  1. c语言 .15,C语言程序设计15.pdf
  2. 跟我学UDS(ISO14229) ———— 0x3E(TesterPresent)
  3. UILable属性详解,设置居上对齐,居中对齐,居下对齐,获取斜体字,字体、大小、单位、颜色
  4. 五脏六腑在脸上的反射区图片_内脏在脸上的反射区图片
  5. android测试和web测试的区别,【分享】Web测试与App测试之间的区别
  6. LAMP兄弟连 51期 全体敬上
  7. U盘安装Ubuntu 12.4的简易指导
  8. 相约明年共此时——第二届全球普惠区块链峰会圆满落幕!
  9. 学习 Gitee+Hexo 搭建个人博客这一篇就够了
  10. 项目:体验庆祝国庆多媒体作品的数据与信息处理