小程序 获取当前城市位置 |
您所在的位置:网站首页 › 广州地理位置经纬度图 › 小程序 获取当前城市位置 |
微信小程序 wx.getLocation 只能获取到经纬度,想要获取具体城市信息,需要使用地图插件。公司要求使用 高德地图,在使用上,几个地图的代码步骤都差不多。 目录 1. 查看官方文档 1.1 申请高德地图Key,点击查看申请key的方法。 1.2 从相关下载页面下载开发包并解压。 1.3 设置安全域名 1.4 使用: 2. 在项目中的使用过程 2.1 首先在app.json中配置: 2.2 获取位置信息 2.3 经纬度转换为城市信息 3. 重新授权 4. 小程序文档更新 4.1 解决: 1. 查看官方文档 1.1 申请高德地图Key,点击查看申请key的方法。 1.2 从相关下载页面下载开发包并解压。解压后得到 amap-wx.js 文件,在创建的项目中,新建一个名为 libs 目录,将 amap-wx.js 文件拷贝到 libs 的本地目录下,完成安装。 为了保证高德小程序插件中提供的功能的正常使用,需要设置安全域名。 登录微信公众平台,在 "设置"->"开发设置" 中设置 request 合法域名,将 https://restapi.amap.com 中添加进去,如下图所示: 然后,构造 AMapWX 对象,并调用 getRegeo 方法,代码如下: Page({ onLoad: function() { var that = this; var myAmapFun = new amapFile.AMapWX({key:'高德Key'}); myAmapFun.getRegeo({ success: function(data){ //成功回调 }, fail: function(info){ //失败回调 console.log(info) } }) }, })编写页面的 wxml 文件,搭建页面结构。 编写页面的 wxss 文件,设置页面样式。 .map_container{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; } 2. 在项目中的使用过程授权 | 微信开放文档 注意事项 需要授权 scope.userLocation、scope.userLocationBackground 时必须配置地理位置用途说明。授权弹窗会展示小程序在小程序用户隐私保护指引中填写的说明,请谨慎填写。后台定位 安卓 8.0.0 , iOS 8.0.0 起,若开发者未通过 wx.authorize({scope: 'scope.userLocation'}) 请求过位置权限,支持通过 wx.authorize({scope: 'scope.userLocationBackground'}) 唤起后台使用地理位置授权窗口。 低于以上版本,scope.userLocationBackground 不会弹窗提醒用户。需要用户在设置页中,主动将“位置信息”选项设置为“使用小程序期间和离开小程序后”。开发者可以通过调用wx.openSetting,打开设置页。 2.1 首先在app.json中配置: "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序位置接口的地址展示" // 高速公路行驶持续后台定位 } } 2.2 获取位置信息 wx.getLocation({ success: function(res) { console.log("经纬度",res); }, })使用这个api,页面上就会弹出申请位置信息的弹框,弹框中的提示信息是在 2.1 中配置的文字内容 。 点击“允许”,就能获取到经纬度。
当用户拒绝申请位置信息时,再次使用 wx.getLocation 是无法再次调用弹框的,需要我们通过 wx.getSetting 判断用户是否授权位置信息,然后提示用户去权限设置页进行授权。 微信小程序-获取当前城市位置_Anita梅梅的博客-CSDN博客_微信小程序获取地理位置 微信小程序-获取当前城市位置 1, 获取当前地理位置,首先要拿到用户的授权wx.openSetting; 2,微信的getLocation接口,获取当前用户的地理位置(微信返回的是经纬度,速度等参数); 3,微信没有将经纬度直接转换为地理位置,借用腾讯位置服务中关于微信小程序的地理转换JS SDK 的API(返回信息中包括国家,省,市,区,经纬度等地理位置)步骤描述清楚以后... 小程序文档更新了, 调用 wx.getLocation() 总是报以下错误: wx.getLocation({ success: function(res){ console.log("onShow经纬度",res); }, fail: function(err){ console.log("获取经纬度失败", err) } })第一步:在配置时改成以下: "permission": { "scope.userLocation": { "desc": "你的位置信息将用于记录扫码位置" } }, "requiredPrivateInfos": [ "getLocation", "chooseLocation" ]第二步:去 微信公众号平台 -》开发管理 -》接口设置 中开通“获取当前接口、位置”的API: 微信小程序调定位失败或提示 chooseLocation:fail the api need to be declared in the requiredPrivateInfos field in_老张代码的博客-CSDN博客_chooselocation:fail uniapp小程序定位 配置permission失败问题_我是开心呀的博客-CSDN博客之前一直是在pages.json里配置"permission": {"scope.userLocation": {"desc": "您的位置信息将用于附近商家位置信息的展示"}}一直提示‘getLocation需要在app.json中声明permission最后找到解决办法是在manifest.json里的mp-weixin里添加![在这里插入图片描述](https://img-blog.csdnimg.cn/ed2f92220bf84189b7c257fdb0e6c727.pn uni.getLocation无法触发,不管用的解决办法_磐石BedRock的博客-CSDN博客_uni.getlocation前言本文章解决了uni.getLocation在H5端以及小程序端的问题,APP端没有测试在使用Uni开发多端应用时,我们用到定位的情况,首先会使用的就是uni自身提供的uni.getLocation,可是在代码中调用的时候,小程序端只返回了经纬度,H5端直接无法触发函数,甚至连调用失败fail都无法触发。接下来就解决掉这两端的问题小程序端首先说的是,我们单独拿到经纬度,无法获取到更加详细... |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |