收藏
回答

微信小程序地图功能太弱了

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 地图 客户端 7.0.3 2.3.0

目前小程序里面的原生地图相比高德或者百度地图来说比较弱,甚至不能包含腾讯web地图的实用功能。

希望地图组件能尽快优化,实现如下功能:

1、当marker标记足够多时,可以以聚合点的方式展示(目前一次显示1000个marker会直接卡死)

2、在地图组件上可以覆盖view视图,实现较好的交互效果。

3、功能至少不要比腾讯web地图弱吧!


最后一次编辑于  02-28
回答关注问题邀请回答
收藏

6 个回答

  • Miao
    Miao
    09-09

    小程序可以通过webview控件调用H5网页可以实现,

    大家可以尝试下易景空间地图导航   https://www.esmap.cn   可开发的SDK接口很多。



    09-09
    赞同
    回复
  • 车来了精准实时公交
    车来了精准实时公交
    07-18

    聊胜于无而已,基本的坐标转换和事件都没有

    07-18
    赞同
    回复
  • 西瓜叔叔
    西瓜叔叔
    05-19

    这原生地图组件确实太弱了

    05-19
    赞同
    回复
  • 乌龙茶
    乌龙茶
    03-07

    我写了一个聚合功能,但是因为marker移动的动画有问题,效果不好,接下来打算测试一下高德地图的sdk

    03-07
    赞同
    回复 5
    • 春嬌與志明
      春嬌與志明
      04-16

      大佬可以给我参考参考吗

      04-16
      回复
    • 乌龙茶
      乌龙茶
      04-18回复春嬌與志明

      我不是大佬,很菜的,算法500行,用typescript写的所以要编译到js,但是我不会做持续集成,就半途而废了。不过可以给你讲下我这个做法的思路,这个算法是给移动端专门写的,支持地图缩放的同时分离聚合。基本思路如下,假设地图上所有的点都没有聚合,那么地图缩小的时候一定是最近的两个点聚合,然后继续缩小,再找最近的两个点聚合,直到全部合成一个点,你就有一棵树了,树的每个层级的聚合粒度是不一样的,接下来你可以用屏幕这个框在这颗树上截取需要展现的点,截取的时候可以做一些别的优化。实现其实不难,我的代码写得不好,就不拿出来献丑了,2000marker以内性能还可以接受,或许你能优化得更好,但是因为小程序地图marker动画有问题,效果其实不够直观,白浪费我三天时间。

      04-18
      回复
    • 乌龙茶
      乌龙茶
      04-18回复春嬌與志明

      记得用平衡二叉树做优化

      04-18
      回复
    • 安奎星
      安奎星
      08-07回复乌龙茶
      辛苦能发下代码吗?现在我就遇到了这个问题,不过我们这边不需要动画效果,只要别卡死就行了
      08-07
      回复
    • 乌龙茶
      乌龙茶
      08-09回复安奎星
      不好意思,刚刚看了下代码,发现有一点业务逻辑在里面,我觉得发出来可能不太合适,其实写下来也就500行左右,一天肯定能写完,外加一两天测试,应该就能用了。帮不上更多忙,不好意思了
      08-09
      回复
  • 白开水
    白开水
    02-28

    第 1 点认为是合理的

    第 2 点是哪些【地图组件上的】交互必须要 view 实现而 markers 实现不了的呢

    02-28
    赞同
    回复 4
    • 欧杨
      欧杨
      02-28

      在地图上存在多个markers时,点击marker后想在地图上覆盖一层view用来显示业务信息。因为map是原生组件,直接覆盖不上地图。要么点击marker进入下一级页面展示,要么就是通过减少map的当前高度,在底部显示view信息。但是这样的话,明显体验不好。

      02-28
      回复
    • 白开水
      白开水
      02-28回复欧杨


      cover-view 可以覆盖在地图上

      02-28
      回复
    • 欧杨
      欧杨
      02-28回复白开水

      操作比较麻烦,而且cover-view中能加的组件太少。比如我想在cover-view里加个slider用来做滑动调节,我还得自己写个控件不成?

      02-28
      回复
    • 白开水
      白开水
      02-28回复欧杨

      目前用 cover-view/cover-image 或者 markers,如果有更复杂的 UI 需求,可以等到 map 实现了同层渲染模式,解释参见https://developers.weixin.qq.com/community/develop/doc/000aa28d030f60a3c4183eecb5d801

      map 的同层渲染模式还在开发和测试中。

      02-28
      回复
  • 祺爸💎
    祺爸💎
    02-28

    毕竟不是app,不是浏览器

    02-28
    赞同
    回复 5
    • 欧杨
      欧杨
      02-28

      既然地图号称是原生组件,就应该有原生组件应该有的样子。这些都是刚需,小程序开发团队应该引起重视。

      02-28
      回复
    • 祺爸💎
      祺爸💎
      02-28回复欧杨

      我估计应该是和小程序的定位有关,重点在“小”

      02-28
      回复
    • 祺爸💎
      祺爸💎
      02-28回复欧杨

      别提原生组件了,就是个大坑

      02-28
      回复
    • 欧杨
      欧杨
      02-28回复祺爸💎

      用原生组件和普通组件做交互,是坑的一逼啊,我觉得还不如web组件。按腾讯的说法,原生组件是模拟web组件来的。还不如让腾讯web地图直接接进来,多开放些接口来用。

      02-28
      回复
    • ༺ཌༀཉིCHNACE༃ༀད༻
      ༺ཌༀཉིCHNACE༃ༀད༻
      03-05

      小程序地图聚合目前能有其他路径实现吗?

      03-05
      回复