• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在谷歌地图上显示聚集标记的确切数量?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 14:28:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在使用以下代码进行 marker clustering(用于生成带有桶的集群图标),使用 Google map sdk

   id<GMUClusterIconGenerator> iconGenerator = [[GMUDefaultClusterIconGenerator alloc]initWithBuckets[@10,@50,@100,@500] backgroundImages[cluster1,cluster2,cluster3,cluster4]];

它正在正确地聚类标记,但它在 map 上显示 10+50+ 数字。例如,如果标记数为35,则在 map 上显示10+,当标记数超过50时,则显示50+ > 等(请参阅下面的截图)。我想在 map 上的集群图像上显示 确切数量的标记!我的意思是如果标记的数量是 36 那么我想要 36 而不是 10+。如果有人可以提供帮助!

截图:

enter image description here

引用:marker-clustering!!



Best Answer-推荐答案


我们可以通过改变 GMUDefaultClusterIconGenerator 类的一种方法来管理它。

GMUDefaultClusterIconGenerator.m 替换下面的方法,

 - (UIImage *)iconForSizeNSUInteger)size {
    NSUInteger bucketIndex = [self bucketIndexForSize:size];
    NSString *text;

    // If size is smaller to first bucket size, use the size as is otherwise round it down to the
    // nearest bucket to limit the number of cluster icons we need to generate.
    if (size < _buckets[0].unsignedLongValue) {
    text = [NSString stringWithFormat"%ld", (unsigned long)size];
    } else {
    text = [NSString stringWithFormat"%ld+", _buckets[bucketIndex].unsignedLongValue];
  }
   if (_backgroundImages != nil) {
    UIImage *image = _backgroundImages[bucketIndex];
    return [self iconForText:text withBaseImage:image];
}
     return [self iconForText:text withBucketIndex:bucketIndex];
 }

 - (UIImage *)iconForSizeNSUInteger)size {
    NSUInteger bucketIndex = [self bucketIndexForSize:size];
    NSString *text;

    // If size is smaller to first bucket size, use the size as is otherwise round it down to the
   // nearest bucket to limit the number of cluster icons we need to generate.
   if (size < _buckets[0].unsignedLongValue) {
     text = [NSString stringWithFormat"%ld", (unsigned long)size];
   }


  else{
    text = [NSString stringWithFormat"%ld", (unsigned long)size];
  }

  if (_backgroundImages != nil) {
    UIImage *image = _backgroundImages[bucketIndex];
    return [self iconForText:text withBaseImage:image];
  }
  return [self iconForText:text withBucketIndex:bucketIndex];
 }

我所做的是,我只是更改了 else 部分并将 text 设置为 exact number 而不是 string with +!

关于ios - 如何在谷歌地图上显示聚集标记的确切数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41218459/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap