android项目中实现百度地图中点聚合功能
2016-06-29 21:58
211 查看
最近公司的一个项目上需要在百度地图上实现点位聚合的功能,首先第一想到的就是去百度地图开发的官网上下载官方的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完整的提取出来放到一个空的工程中,方便以后使用
我使用的开发工具是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完整的提取出来放到一个空的工程中,方便以后使用
相关文章推荐
- 重新认识View(二)
- Android NDK 简介
- Android 之 IPC 进程通信全解析 -- 墙裂推荐
- Android 之 IPC 进程通信全解析 -- 墙裂推荐
- Android 自定义View (前置学习) -- Paint对象 Color对象 Canvas对象
- android xml属性
- 重新认识View(一)
- activity的启动模式
- Android的Activity中的Menu使用总结
- (翻译)Android应用生成测试覆盖率报告
- 自定义slideMenu
- [Android Pro] Android studio jni中调用Log输出调试信息
- AndroidStudio-Git-本地项目添加Git并初次上传到远程Git
- Android.mk文件配置多个LOCAL_SRC_FILES
- Android 热修复总结
- Android的activity启动延迟加载
- Android 西班牙语字幕乱码 && 字符编码
- 加速android studio速度
- Android NDK编译环境配置
- Android RecyclerView使用详解