android项目中实现百度地图中点聚合功能

1 篇文章 0 订阅
1 篇文章 0 订阅

最近公司的一个项目上需要在百度地图上实现点位聚合的功能,首先第一想到的就是去百度地图开发的官网上下载官方的Demo



我使用的开发工具是Android Studio,解压安装包后,通过Android Studio打开工程BaiduMapsApiASDemo,工程名称中有AS表示是Android Studio的工程,并在虚拟机上执行一遍,找到点聚合功能,并查看效果



然后去工程中查看相关源代码,并移植到自己的项目工程中去

分析源代码之后,才发现MarkerClusterDemo类中引用的ClusterManager等类并不在官网下载的jar包中,最后发现是在工程文件中


要想实现和官方Demo相同的点聚合效果,就需要把这两个文件也拷贝到自己的项目工程中,经过实验发现,不仅仅拷贝过去就能使用的,原则就是缺少什么就把什么拷贝到自己工程的相应位置

首先,需要修改两个类中引入的R文件的路径,修改成自己的 import 自己的package.R即可

1. com.baidu.mapapi.clusterutil.ui.IconGenerator

2. com.baidu.mapapi.clusterutil.clustering.view.DefaultClusterRenderer

第二,将styles.xml文件中的相关部分拷贝过来

第三,将layout文件夹中的text_bubble.xml文件拷贝过来

然后参照MarkClusterDemo代码实现自己的类,需要注意的是自己项目中的marker类需要实现ClusterItem接口,具体参照官方Demo

自己项目中实现的点位聚合的效果图如下:(4000+个点位聚合效果)比较流畅,没有卡顿



自己也把clusterutil和overlayutil完整的提取出来放到一个空的工程中,方便以后使用

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值