用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 查看内容

微信小程序之cover-view

Rolan 2017-11-21 00:08

最近公司有个项目需要用到小程序的map组件,要实现一个类似摩拜红包车的信息弹框,简单说就是在map组件上添加自定义view。

前言

最近公司有个项目需要用到小程序的map组件,要实现一个类似摩拜红包车的信息弹框,简单说就是在map组件上添加自定义view。 
摩拜红包车

直接在map上使用view,image等是不行的,因为查看微信小程序API底部Bug&Tip有一句话,map 组件是由客户端创建的原生组件,它的层级是最高的。所以直接在map上使用view等没有效果的,即使使用z-index改变z轴也是没用的,网上也查了很多,都说是没办法使用这种布局的。 
后来仔细查看微信小程序API文档,发现一个控件cover-view,没错,就是今天的主角。查看文档第一行发现有这么一句话,覆盖在原生组件之上的文本视图,可覆盖的原生组件包括map、video、canvas、camera,只支持嵌套cover-view、cover-image。有了这句话我就心安了,看来是可以实现了。

代码实现

.wxml

  1. <map id="map" longitude="{{point.longitude}}" latitude="{{point.latitude}}"
  2. markers="{{markers}}" scale="{{mapScale}}" show-location bindregionchange="regionchange"
  3. bindmarkertap="markertap" controls="{{controls}}" bindcontroltap="controltap"
  4. style="width: {{mapWidth}}; height: {{mapHeight}};top: {{mapTop}}">
  5. <cover-view class="place_info">
  6. <cover-view class="place_info_parking">cover-view</cover-view>
  7. <cover-view class="place_info_surplus">可覆盖在原生组件的组件</cover-view>
  8. <cover-view class="place_info_order">66666</cover-view>
  9. </cover-view>
  10. </map>

.wxss

  1. .place_info {
  2. position: relative;
  3. width: 90%;
  4. margin-left: 20rpx;
  5. margin-top: 10rpx;
  6. border-radius: 5rpx;
  7. background: white;
  8. padding: 10rpx;
  9. }
  10. .place_info_parking{
  11. font-size: 50rpx
  12. }
  13. .place_info_surplus{
  14. color: #999999
  15. }
  16. .place_info_order{
  17. margin-top: 10rpx;
  18. margin-bottom: 10rpx;
  19. margin-left: 20rpx;
  20. background-color: #ff5722;
  21. color: #FFFFFF;
  22. padding: 10rpx;
  23. width: 90%;
  24. border-radius: 5rpx;
  25. text-align: center;
  26. }

效果图

map上添加view


鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: hwx95 来自: 简书

相关阅读

  • 夏日清风 2017-11-21 14:06
    666,看了这篇文章才注意到cover-view这个组件,学习了