微信小程序入门之指南针
更新时间:2020年10月22日 15:30:13 作者:yunfeather
这篇文章主要为大家详细介绍了微信小程序入门之指南针,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
微信小程序入门案例——指南针,供大家参考,具体内容如下
涉及技术:获取地理位置、监听指南针角度
目录结构:
pages\index\index.js
Page({ /** * 页面的初始数据 */ data: { rotate:0, degree:'未知', direction:'', lat:0, lon:0, alt:0 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; wx.getLocation({ altitude: true, success:function(res){ that.setData({ lat:res.latitude.toFixed(2), lon:res.longitude.toFixed(2), alt:res.altitude.toFixed(2) }) } }) wx.onCompassChange(function(res){ let degree = res.direction.toFixed(0); that.getDirection(degree) that.setData({ rotate:360 - degree }) }) }, /** * 判断方向 */ getDirection:function(deg){ let dir = '未知'; if(deg>=340||deg<=20){ dir='北'; }else if(deg>20&°<70){ dir='东北'; }else if(deg>=70&°<=110){ dir='东'; }else if(deg>110&°<160){ dir='东南'; }else if(deg>=160&°<=200){ dir='南'; }else if(deg>200&°<250){ dir='西南'; }else if(deg>=250&°<=290){ dir='西'; }else if(deg>290&°<340){ dir='西北'; } this.setData({ degree:deg, direction:dir }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
pages\index\index.wxml
<view class="container"> <image src="/images/1.jpg" mode="widthFix" style="transform:rotate({{rotate}}deg);"></image> <view class="status"> <text class="bigTxt">{{degree}}°{{direction}}</text> <text class="smallTxt">北纬{{lat}}东经{{lon}}</text> <text class="smallTxt">海拔{{alt}}米</text> </view> </view>
pages\index\index.wxss
.container{ height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: space-around; color: #A46248; } image{ width: 80%; } .status{ display: flex; flex-direction: column; align-items: center; } .bigTxt{ font-size: 30pt; margin: 15rpx; } .smallTxt{ font-size: 20pt; margin: 15rpx; }
app.js
App({ /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */ onLaunch: function () { }, /** * 当小程序启动,或从后台进入前台显示,会触发 onShow */ onShow: function (options) { }, /** * 当小程序从前台进入后台,会触发 onHide */ onHide: function () { }, /** * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 */ onError: function (msg) { } })
app.json
{ "pages":[ "pages/index/index" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "指南针", "navigationBarTextStyle":"black" }, "permission":{ "scope.userLocation":{ "desc":"你的位置信息将用于小程序指南针的效果展示" } }, "style": "v2", "sitemapLocation": "sitemap.json" }
运行截图:
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章
JavaScript和jQuery获取input框的绝对位置实现方法
下面小编就为大家带来一篇JavaScript和jQuery获取input框的绝对位置实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-10在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
这篇文章主要介绍了在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法,这个可以提高数据的录入方便,特别是在一些简单业务的明细数据的时候,看起来会比弹出窗口录入方便一些,非常具有实用价值,需要的朋友可以参考下2018-10-10javascript对select标签的控制(option选项/select)
html中的select标签,也是asp.net中的asp:DropDownList控件,接下来介绍javascript对select标签的控制,感兴趣的朋友可以了解下,或许本文对你有所帮助2013-01-01
最新评论