收藏
回答

Map组件疑问?

问题模块
API和组件

根据开发文档描述,map 组件是由客户端创建的原生组件,它的层级是最高的,也就是说它上面不可以再叠加其它视图,但我在其它小程序上,如通勤助手,摩拜单车上看到了map组件上是可以叠加其它组件的,是否是因为他们是微信合作伙伴而给他们开放了部分隐藏接口,我们要实现类似的功能有什么建议?

最后一次编辑于  2017-04-19  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

16 个回答

  • YJFn
    YJFn
    2017-04-19

    controls

    在地图上显示控件,控件不随着地图移动

    controls: [{

         id: 1,      iconPath: '/resources/location.png',      position: {        left: 0,        top: 300 - 50,        width: 50,        height: 50      },      clickable: true    }]

    controltap(e) {    

        console.log(e.controlId)

     }

    这些是官方文档的例子,用这个就可以实现了吧?楼主再看看,考虑考虑

    2017-04-19
    赞同
    回复
  • Can🌴
    Can🌴
    2017-04-19

    1. 可以用cavas在map上层画。

    2. 使用map的controls

    3. 有的小程序在需要在map上盖东西的时候,把map隐藏掉,放一个假的图片在后边。

    2017-04-19
    赞同
    回复
  • 清飞
    清飞
    2017-04-20

    @YJFn 

    Map上放controls没问题,但controls目前只能是一个图片,所以想实现复杂一点儿的视图还是很困难的,比如上面放多个响应按钮就没法实现了,但有时候这个视图是需要隐藏的,如果采用动态隐藏且不是叠加在上层,Map动态改变大小会抖动,体验很差。

    2017-04-20
    赞同
    回复
  • 清飞
    清飞
    2017-04-20

    @Can

    分别说一下你几个建议

    1、可以用cavas在map上层画。

        目前canvas与map都是原生的顶级层,我测试的效果也是不可以叠加的,绘图机制也决定了他们两个如果叠加也很困难。

    2. 使用map的controls

        controls这个目前只是放置一个图片而已,很难实现复杂的逻辑,而冬天改变地图大小会导致地图抖动,体验很差。

    3、有的小程序在需要在map上盖东西的时候,把map隐藏掉,放一个假的图片在后边。

        放置假图片是会存在时差的,且有时候无法完全对应,这方案瑕疵还比较多。


    有一种方案没有试验可能行,利用canvas在后台生成图片,然后利map的controls的动态叠加生成的图片,有一个问题,如果我上面放置多个按钮还是没法解决问题,感觉现在的map组件功能欠缺不少。

    2017-04-20
    赞同
    回复
  • YJFn
    YJFn
    2017-04-20

    @马清飞 

    嗯,我只是针对摩拜单车上的效果提建议,其他的小程序还没有看,摩拜单车看起来它就是一张图对应一个按钮,这种多个按钮完全可以实现的,像这样我放三张图都有对应的点击处理

    2017-04-20
    赞同
    回复
  • Can🌴
    Can🌴
    2017-04-20


    诺,canvas方案,没你说的问题

    2017-04-20
    赞同
    回复
  • 清飞
    清飞
    2017-04-21

    @Can

    感谢!!!

    我测试的是将先canvas后map,导致绘图闪烁覆盖,按照你的顺序测试了可以实现!

    另:你们有没有计划进一步开放地图能力,比如现在地图marker点击弹出气泡无法定制样式以及响应事件?

    2017-04-21
    赞同
    回复
  • 清飞
    清飞
    2017-04-21

    @YJFn

    你的在地图上浮动controls是没问题的,但摩拜的红包计时界面绝对不是这个可以实现的,应该是上面@Can提到的用canvas自绘来实现,顺序不对了也是个坑,自绘实现起来还是相对会麻烦点的!!!

    2017-04-21
    赞同
    回复
  • 新新新丶
    新新新丶
    2017-05-12

    这几天也有涉及到map的使用,看完楼主这贴明白了很多;

    不知道楼主说的弹出自定义气泡的问题实现了?


    2017-05-12
    赞同
    回复
  • 清飞
    清飞
    2017-05-13

    @新新新丶 现在自定义气泡还无法实现,只能通过变通的方式展示了

    2017-05-13
    赞同
    回复