获取用户当前位置分为3步
1.获取位置用户请求权限
2.获取经纬度
3.经纬度转换为城市

一.获取位置用户请求权限

获取权限的目的主要是因为避免转换不了城市的报错(可能出现不提示“需要先请求用户权限”的信息,进而导致后续报错或没反应)
1.在项目里的需要的页面里使用button按钮绑定获取定位事件

<button type="default" @click="getLocation">点击获取定位</button>

2.js部分

getLocation() {wx.getLocation({success(res){ }}) //或者使用wx.authorize也行,但后续会使用getLocation获取经纬度,所以直接用getLocation更少代码//wx.authorize({//   scope: 'scope.userLocation'//})
}

写完这些后,点击按钮会提示错误(以上两种情况都需要配置不然会报错)

(以上两种方式都会报类似的错误)位置授权要先在app.json里声明,提示getLocation 需要在app.json中声明permission字段。
解决办法:
在manifest.json中加入下面这段代码

"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"  //描述用途的文字}}

操作如下图所示:

当完成配置后,再点击按钮会调起获取权限请求。在用户同意权限后,可在后续完成当前位置的获取。
下图为调起的获取权限请求

二.获取经纬度

二.1 使用微信小程序自带接口wx.getLocation获取当前位置的经纬度

注:如果之前的获取位置权限请求被拒,这里不会有提示而直接进入fail的回调,就会一直显示fail的回调。1.可以在微信开发者平台上真机调试的旁边—清缓存—清除授权数据。2.可以用下面的让用户去往设置页面进行勾选

wx.getLocation({success(res){console.log("wx.getLocation获取到的结果")console.log(res) //这里包含了经维度console.log(res.latitude)  console.log(res.longitude) },fail(res){console.log("未拿取到当前位置")}
})

附加:使用小程序弹窗重新调起,让用户手动勾选

wx.showModal({content: '检测到您没打开位置消息功能权限,是否去设置打开?',confirmText: "确认",cancelText: "取消",success: function(res) {console.log(res);//点击“确认”时打开设置页面if (res.confirm) {wx.openSetting({ //这里调起获取权限的位置success: (res) => {}})} else {console.log('用户点击取消')}}
})

三.经纬度转城市定位

三.1 需要前往地图官网申请专属Key,有很清楚的操作流程 腾讯位置服务

三.2到第5步时。我们这里使用逆地址解析:它的方法:reverseGeocoder(options:Object)。
具体js代码:

//这里引入的js文件是你第3步下载的文件,可放在任意位置。我这里是放在pages同级的unit(新建的目录)里的。
let QQMapWX = require('../../unit/qqmap-wx-jssdk.min.js')
// 实例化API核心类
let qqmapsdk = new QQMapWX({key: '这里填写你申请的Key' // 必填
});
let that = this
//经纬度转城市位置
qqmapsdk.reverseGeocoder({location:{latitude: res.latitude,  //这里是之前获取到的经纬度longitude: res.longitude},success(rres) {console.log("经纬度转换地址坐标")console.log(rres) //这里包含了很多信息,如有需要可以自行取console.log("转换后的位置信息(市)")console.log(rres.result.ad_info.city)that.city = rres.result.ad_info.city}
})

下面是获取的定位的代码与效果图(其中地图部分没做演示)

<view>{{city == "" ? "定位": city}} </view>
data(){return{city:""}
}

uniapp、hbuilderx做微信小程序,获取当前城市定位(省份国家街道等)相关推荐

  1. 微信小程序获取当前城市定位

    获取当前城市 一般需要二步骤 1 getLocation 获取精度,维度 2 然后请求,百度,高度,腾讯题图转换即可 这里以百度地图为例 代码如下 wx.getLocation({success: f ...

  2. 微信小程序-获取当前城市位置

    微信小程序-获取当前城市位置 1, 获取当前地理位置,首先要拿到用户的授权wx.openSetting: 2,微信的getLocation接口,获取当前用户的地理位置(微信返回的是经纬度,速度等参数) ...

  3. uniapp|微信小程序获取当前城市名称--逆地址解析

    六年代码两茫茫,不思量,自难忘 6年资深前端主管一枚,只分享技术干货,项目实战经验 关注博主不迷路~ 文章目录 问题 解决步骤 看文档 逆地址解析 1. 创建应用 2. uniapp配置 3. 代码部 ...

  4. php根据地理位置签到,微信小程序获取地理位置实现定位签到功能

    为了保证签到定位的精确性,要求开启GPS定位.小程序成功精确获取地理位置打卡签到,需要三步授权验证: 地理位置的系统开关(系统GPS开关是否打开) --系统级 允许微信使用定位的开关 (微信是否有获取 ...

  5. 微信小程序获取当前城市地址

    var QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); var qqmapcity_name:"",onLoad: func ...

  6. 微信小程序开发之城市定位(腾讯位置服务)

    微信小程序实现城市定位功能 一.定位当前城市信息的步骤: 步骤1:获取当前地理位置,首先要拿到用户的授权 wx.openSeting 步骤2:调用 wx.getLocation获取当前用户的地理位置( ...

  7. 微信小程序开发之城市定位

    背景: 在进行小程序开发时,有一个定位城市的需求,下面就来讲讲怎么实现这个功能的吧 解决方案: 小程序的wx.getLocation()获得是经纬度并不包含地名,所以要通过经纬度用相应的地图转换出地名 ...

  8. 微信小程序获取百度地图定位

    1.指定按钮获取定位 <van-col class="playActive" @click="getLocal()" span="5" ...

  9. 小程序 获取当前城市位置-高德地图

    微信小程序 wx.getLocation 只能获取到经纬度,想要获取具体城市信息,需要使用地图插件.公司要求使用 高德地图,在使用上,几个地图的代码步骤都差不多. 目录 1. 查看官方文档 1.1 申 ...

最新文章

  1. CF 529B Group Photo 2 (online mirror version)
  2. Windows server 2012 活动目录回收站
  3. 显示非模式窗口和模式窗口
  4. Spring Annotations我从没有机会使用第2部分:@ConfigurationProperties
  5. Flowable 6.4.1数据库自动建表错误 SQLSyntaxErrorException: Table 'flowable.act_id_property' doesn't exist
  6. mysql数据库导入导出和密码修改
  7. MATLAB: 你不知道的12个基础知识
  8. Hi3516A开发--电阻分压阻值计算
  9. IDEA 创建工作空间 (空项目) 项目组
  10. 有些CAD通过Arcgis程序读取后,发现面积不对
  11. Mac技巧之更改苹果电脑开机画面的技巧
  12. 【劫持】网页被注入广告
  13. Thread.currentThread.interrupt()
  14. 大厂Redis day2 自用笔记
  15. syl——linux学习(一)
  16. VisionPro通过SN码连接相机
  17. H5+ 调用Barcode 实现二维码扫一扫
  18. android网络电话源码
  19. vue echarts 多个图表 后台数据填充到页面,并自适应
  20. Android使用Intent发送短信SMS

热门文章

  1. HTML+CSS制作家乡旅游网页(杭州旅游网页设计dw制作)
  2. ADAS推高毫米波雷达需求,上游企业如何跟进?
  3. Apple Watch已出现在巴黎柯莱特时尚店橱窗
  4. Blockchain技术之区块链的概念和起源以及区块链的运行方式、发展前景和应用领域分析
  5. 服务器数据库信息从哪里看,怎查看云服务器上的数据库信息
  6. android手机的扩容教程,解决手机系统空间不足
  7. 微信端跳转外部浏览器进行apk文件下载的实现原理及源码
  8. 假设二叉树采用二叉链存储结构,编写一个算法,求出二叉树中的叶子结点数,并设计主函数调用上述算法。
  9. 【经营智慧】002.赚钱主要靠知识和智慧
  10. Android Freetype的学习过程总结