【开源分享】安卓基于地图行政区的点聚合

前段时间公司项目需要基于三方地图开发一个根据行政区的点聚合功能,本以为官方sdk有现存的api可以拿来用,后发现官方demo是根据距离做的聚合,但也不是完全不能用,大体思路还是值得借鉴的。

于是就弄了这么一个基于行政区的聚合功能,想想百度也没搜到类似的玩意儿,于是就开源下吧。

安卓地图点聚合

关于使用方法,大家请移步:https://github.com/codersth/mapx

下面就简单地说下设计思路。
在这里插入图片描述
开局一张图,内容全靠编(编码的编哈)。

上图中共分为两个部分,上面的虚线框内容为mapx lib,也就是我们的依赖包;下面的application是我们具体的应用。

为什么要分开,放在一起不是很好吗?

因为老朽还是想做一个通用的聚合功能,啥意思?就是与地图无关,无论你用高德、百度、还是腾讯等其它三方地图,均可以通过继承ClusterOverlay来扩展,然后自定义自己的标记显示样式等,具体可以参照git中已实现了高德行政区聚合的sample。

说白了,mapx lib就是一个处理聚合算法的空壳子,主要包含两大过程:计算和绘制,分别在两个子线程中处理,具体请参数UML图中的CalculateHandler和DrawHandler。

标注通过泛型参数指定具体地图的Marker,标注点击后需手动调用onClusterMarkerClick方法。

DisplayAreaLevel是行政区等级的划分,共分5个等级。

    Country,
    Province,
    City,
    County,
    Point;

其他相关请直接READING THE FUCKING SOURCE CODE!

展望

mapx lib后面会一直维护,致力于将三方地图中的常用功能囊括于此但又与具体地图无关,有兴趣的小伙伴可以了起撸哦~

有问题请直接在下方留言,三日没回复差不多就被祭天了。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meta章磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值