微信小程序Map组件踩坑日记
刚刚又发生一个bug,搞得我头皮发麻,本来该美滋滋的回家准备度过愉快的周末,瞬间变成了日常修bug,来,开始填坑之路
情景再现:
首先说一说我们项目的需求,
点击下方,弹出抽屉
点击对应的地图打开相应的APP
思路一:用map组件来实现
坑:布局都搞好之后,在微信开发者工具一切正常,结果真机测试的时候只有地图,所有东西都被覆盖住了
效果:
原因:原生Map组件层级是最高的,并且不能使用z-index来修改层级
如果要在地图上面加一些组件呢
解决:
方案一:控件设置,控件就是controls属性,控件只能显示图片,不能显示文字之类的
方案二:cover-view组件,这个组件就是悬浮在一些组件上的,用于设置在map上或者设置在视频播放上等等
将cover-view组件嵌套在map组件内就可以了。cover-image组件可以嵌套在cover-view内。
注意:cover-view中只支持嵌套cover-view
、cover-image
,button,
只支持基本的定位、布局、文本样式。不支持设置单边的border、background-image、shadow、overflow: visible等。
好了第一个问题解决了,但是第二个问题又来了,点击打开对应的地图APP
这个问题也很操蛋,讲真。
我一开始已经用Map组件布局好了,后来发现Map组件不能实现直接打开对应的APP
又经过一顿操作,发现可以使用wx.openLocation()方法可以实现点击直接打开对应的APP,但是问题又来了,wx.openLocation()打开的界面不支持自定义样式
而且这里还需注意一下,wx.openLocation()在微信开发者工具运行的结果和在真机上运行的界面不一样
微信开发者工具运行结果:
真机运行结果:
好了,暂时就这些坑,大家使用的时候一定注意!!!