map组件上面无法添加覆盖物,只能通过添加controls控件的方式来添加,
问题是controls控件的position只能指定下图的位置属性;
left,top都是Number类型,那如何适配屏幕呢?
想通过 wx.getSystemInfo 接口获取屏幕大小信息,再计算出left和top的值,但是发现在通过this.setData更新时,这个控件都消失了,如何解决?
//摩拜单车是如何实现的?
map组件上面无法添加覆盖物,只能通过添加controls控件的方式来添加,
问题是controls控件的position只能指定下图的位置属性;
left,top都是Number类型,那如何适配屏幕呢?
想通过 wx.getSystemInfo 接口获取屏幕大小信息,再计算出left和top的值,但是发现在通过this.setData更新时,这个控件都消失了,如何解决?
//摩拜单车是如何实现的?
在this.setData里面重新设置一下controls这个属性里面的相关属性
_this.setData({
// 设置控件的高度
controls: [{
id: 1,
iconPath: '/pages/images/map/myLocation.png',
position: {
top: res.windowHeight - 30 - 20,
width: 30,
height: 30
},
clickable: true
}],
})
4 回答900 阅读✓ 已解决
6 回答1.5k 阅读
5 回答853 阅读
3 回答888 阅读✓ 已解决
1 回答933 阅读✓ 已解决
3 回答1.1k 阅读
1 回答974 阅读✓ 已解决
计算时候有问题的,wx.getSystemInfo 获取的是屏幕大小(不是实际页面大小),我们需要减掉微信顶部的标题栏和系统的状态栏的尺寸以及其他元素尺寸,如果以为是页面大小,那么实际控件就有可能跑到屏幕外出不可见而已;
本身思路并没有问题!