阿里拍卖4个深交所交易席位各60万成交
06-18
最近在做自己的小程序《看啥好呢》。本小程序采用云开发方式开发。
功能很简单,就是获取豆瓣、大麦网的数据展示,虽然功能简单,但是还是记录了开发过程和一些技术点。大约会产生两篇博客文章,这是第一篇。
GitHub地址1.《看啥好呢》有一个本地好看的Tab。进入后会获取用户当前所在的城市,然后显示该城市的数据,并显示在导航栏和Tab上。
在微信小程序中,我们可以通过调用wx.getLocation()来获取设备当前的地理位置信息。该信息是当前位置的经度和纬度。
如果我们想要获取我们当前所在位置在哪个国家、哪个城市等信息,我们该如何实现呢?微信小程序不提供这样的API,不过没关系。通过wx.getLocation()获得的经度和纬度足以作为基础。
剩下的,我们可以使用其他第三方地图服务,例如腾讯地图或百度地图。 API。
所以整个步骤就是:在小程序中获取当前地理位置,小程序API为wx.getLocation,第1步获取到的经纬度信息是通过腾讯地图接口解析出的反向地址,腾讯地图接口是reverseGeocoder(选项:对象)2。获取小程序当前地理位置。
在小程序中,调用wx.getLocation。使用前需获取用户授权范围.userLocation。
代码如下: txt copy checkAuth(callback) { wx.getSetting({ success (res) { if (!res.authSetting['scope.userLocation']) { wx.authorize({scope: 'scope.userLocation' , success() { wx.getLocation({ type: 'wgs84', success(res ) { callback(res.latitude, res.longitude) } }) } }) } } })}type 的值可以是:wgs84意思是返回gps坐标 gcj02返回可以用于wx.openLocation的坐标。运行后会提示以下信息。
您还需要在app.json中配置权限字段。查询文档得知需要配置代码语言如下: txt copy "permission": { "scope.userLocation": { "desc": " 您的位置信息将用于显示效果小程序定位界面。
” }}desc 用于在弹出的授权提示框中显示。如下允许后,即可获取接口返回的信息。
这个过程会显示在右上角的胶囊按钮上。箭头图标代码 language: txt copy { precision: 65 errMsg: "getLocation:ok" Horizo??ntalAccuracy: 65 latitude: 30.1 // 纬度,范围为-90~90,负数代表南纬 longitude: .6 // 经度,范围为-~,负数代表西经速度:-1verticalAccuracy:65}纬度和经度是我们需要的两个字段3.腾讯地图接口反向地址分析以腾讯地图为例,我们可以到腾讯地图打开平台注册账号。
然后在其管理后台创建一个key并进行KEY设置。根据微信小程序JavaScript SDK入门及使用限制文档,在KEY设置的启用的产品中,勾选WebServiceAPI并选择签名验证方式,因为我是使用云端开发的,所以没有域名或授权IP 。
这部分代码逻辑如下: txt copy import QQMapWX from '../../scripts/qqmap-wx-jssdk.min.js'let qqmapsdkPage({ onLoad: function (options) { // 实例化API核心类 qqmapsdk = new QQMapWX({ key: '开发密钥(key)' // 必填}); this.checkAuth((latitude, longitude) => { // qqmapsdk.reverseGeocoder({ sig: '在KEY中生成settings SK string', // 所需位置:{纬度, 经度}, success(res) { wx.setStorageSync('loca_city', res.result.ad_info.city) }, failure(err) { console.log(err ) wx.showToast('Failed to get city') },complete() { // Do some } }) }) }})verseGeocoder接口返回的结果,里面有很多字段,具体参见接口文档。有几个字段可以用来获取城市,其中ad_info是行政区划信息,所以我就在里面获取城市。
完整的文字。如果对您有一点帮助,可以点击关注。
作者简介:我是工程师但不是码农(微信同名公众号),Web前端工程师,7年开发经验,位于杭州公众号,专注于大前端技术。分享我的原创或精选文章,欢迎关注。
我的个人微信(dunizb),欢迎加好友进一步交流。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-17
06-17
06-18
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用