地图在加载大数据量的mark的解决方…

Marker Cluster面面观

1.问题描述:当向地图上加载大数量Marker或者Pushpin时,会出现彼此覆盖和加载速度过慢的问题,解决方案就是Marker Cluster或者叫Pushpin Clustering。简要原理图示:这里 

             

GoogleMaps的解决方案:《Handling Large Amounts of Markers in Google Maps》详细论述并比较了Google Maps上目前的7种解决方案。若果非得挑选一种,那就是Google Geo今年4月在官方博客中提到的“MarkerClusterer”,作者是中国的工程师Xiaoxi Wu,而且已经开源,放到gmaps-utility-library中了。(V3版的工具库:这里。)

         

地图在加载大数据量的mark的解决方法

          

              

Bing Maps的解决方案:微软于去年9月发布6.2版时官方支持,称之为Pushpin Clustering。在交互式iSDK中Customize Shape下有个 Pushpin cluster ,同时有两篇文章介绍如何使用如何自定义。之前也有非官方的替代方案,不再介绍。

     

地图在加载大数据量的mark的解决方法
      

ESRI的解决方案:ESRI在Flex API中提供了解决方案,据说非常之受欢迎,Silverlight API也提供了类似的功能。

地图在加载大数据量的mark的解决方法

           

还有一些其他公司的解决方案,比如IDVUMapper等,其中 Maptimize 似乎专业做这个的。

地图在加载大数据量的mark的解决方法
   地图在加载大数据量的mark的解决方法    地图在加载大数据量的mark的解决方法

2.百度的解决案例:

   标注数据量请控制在150个以内,以保持高性能。
标注数量在260以内,可以使用自定义覆盖物实现。
标注数量大于300个,建议尝试marker聚合,或者数据抽希。
Marker聚合:http://tieba.baidu.com/f?kz=1031097376
数据抽希:比如有10个marker,选择其中6个做为显示点。
我的建议是,不要一次在地图上添加过多的marker,而是先把point存储在数据库里,当需要显示某个marker是,再addOverlay。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值