小程序
小游戏
企业微信
微信支付
扫描小程序码分享
https://developers.weixin.qq.com/miniprogram/dev/component/map.html
安卓机map的rotate频繁变动会导致卡顿。
在界面用按钮,点击按钮会0~360之间随机,然后this.setDate({"roate":0~360的随机数});多次点击,地图的旋转动画会逐次旋转到相应的值,一直到最后一次点击按钮的随机角度值。iOS则不会逐次旋转,而是直接旋转到最后一次点击按钮的角度
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
// 开启罗盘监听获取方向
getRotate() {
let vm = this
let platform = wx.getSystemInfoSync()['platform']
// 开启罗盘监听
wx.startCompass({
success() {
wx.onCompassChange((res) => {
let rotate = 360 - res.direction.toFixed(0)
if (platform == 'ios') {
vm.setData({
rotate: rotate
})
} else if (platform == "android") {
// 细小角度偏差不修改,防止android无故抽搐
if (Math.abs(rotate - vm.data.lastRotate) < 5) {
if (rotate != vm.data.lastRotate) {
lastRotate: rotate
}
return
clearTimeout(vm.rotateTimer)
vm.rotateTimer = setTimeout(() => {
}, 200)
},
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),并提供下复现的视频(上传至腾讯视频)。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
// 开启罗盘监听获取方向
getRotate() {
let vm = this
let platform = wx.getSystemInfoSync()['platform']
// 开启罗盘监听
wx.startCompass({
success() {
wx.onCompassChange((res) => {
let rotate = 360 - res.direction.toFixed(0)
if (platform == 'ios') {
vm.setData({
rotate: rotate
})
} else if (platform == "android") {
// 细小角度偏差不修改,防止android无故抽搐
if (Math.abs(rotate - vm.data.lastRotate) < 5) {
if (rotate != vm.data.lastRotate) {
vm.setData({
lastRotate: rotate
})
}
return
}
vm.setData({
lastRotate: rotate
})
clearTimeout(vm.rotateTimer)
vm.rotateTimer = setTimeout(() => {
vm.setData({
rotate: rotate
})
}, 200)
}
})
}
})
},
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),并提供下复现的视频(上传至腾讯视频)。
麻烦提供下复现的机型,微信版本号,系统版本号。