android – 缩放时聚类地图标记,放大时不聚集

android – 缩放时聚类地图标记,放大时不聚集,第1张

概述我正在使用 Google Map Android clustering Utitlity With Google Maps v2播放服务. 我没有得到我期望的行为.正如你在下面的两张图片中看到的那样,当放大时,我可以看到一个20的簇和一个向左的单个标记,但当我缩小直到它们在彼此的顶部时,我看不到它们的簇. 20集群仍然说20而不是21? 这是预期的行为吗?有没有办法可以使群集显示21而不是20 这 我正在使用 Google Map Android clustering Utitlity With Google Maps v2播放服务.

我没有得到我期望的行为.正如你在下面的两张图片中看到的那样,当放大时,我可以看到一个20的簇和一个向左的单个标记,但当我缩小直到它们在彼此的顶部时,我看不到它们的簇. 20集群仍然说20而不是21?

这是预期的行为吗?有没有办法可以使群集显示21而不是20

解决方法 这是 DefaultClasterRenderer#onBeforeClusterRendered()中指定的默认行为:

/** * Called before the marker for a Cluster is added to the map. * The default implementation draws a circle with a rough count of the number of items. */protected voID onBeforeClusterRendered(Cluster<T> cluster,MarkerOptions markerOptions) {    int bucket = getBucket(cluster);    BitmapDescriptor descriptor = mIcons.get(bucket);    if (descriptor == null) {        mcoloredCircleBackground.getPaint().setcolor(getcolor(bucket));        descriptor = BitmapDescriptorFactory.fromBitmap(mIconGenerator.makeIcon(getClusterText(bucket)));        mIcons.put(bucket,descriptor);    }    // Todo: consIDer adding anchor(.5,.5) (IndivIDual markers will overlap more often)    markerOptions.icon(descriptor);}

请注意,标记的文本是根据存储桶选择的,而不是根据群集中的确切项目数来选择的

快速解决方法是将描述符创建修改为:

descriptor = BitmapDescriptorFactory.fromBitmap(mIconGenerator.                                                 makeIcon(cluster.getSize());

当然,您可以实现自定义ClasterRenderer并将其提供给ClusterManager.这样您将负责渲染您的标记,但如果您只想将“20”更改为“21” – 我会先使用途径

编辑:

在评论中提出的问题:
如果要增加/减少分组项目的距离阈值 – 您可以修改用于群集的default algorithm.只需使用此常量(在您的情况下应该更小):

public static final int MAX_disTANCE_AT_ZOOM = 100; // essentially 100 dp.

但正确的解决方法是考虑Marker位图大小而不是常量值.我假设Mr. Broadfood离开那作为爱好者的作业:)

private Bounds createBoundsFromSpan(Point p,double span) {    // Todo: Use a span that takes into account the visual size of the marker,not just its    // LatLng.    double halfSpan = span / 2;    return new Bounds(            p.x - halfSpan,p.x + halfSpan,p.y - halfSpan,p.y + halfSpan);}
总结

以上是内存溢出为你收集整理的android – 缩放时聚类地图标记,放大时不聚集全部内容,希望文章能够帮你解决android – 缩放时聚类地图标记,放大时不聚集所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1123155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存