在 iOS 中对 Google 地图标记进行聚类

2024-05-26

我有一个基于地图的应用程序,使用 Google 地图的 iOS SDK。我需要在核心数据数据库中存储多达数千个项目,并在地图上用标记显示它们。出于性能和可用性的原因,我需要在用户缩小时对这些标记进行聚类,但我需要确保放置代表性标记,以便用户知道在哪里放大以查看更多细节。

我的核心数据模型中的每个条目都存储了纬度/经度双值。因此,我对项目进行聚类的想法是保留一个单独的实体,在其中剥离地理坐标中不太重要的部分并在其中存储计数。

因此,每当将纬度/经度为 {44.9382719, -130.20293849} 的项目插入数据库时​​,另一个纬度/经度为 {44.9, -130.2} 的“簇”对象的 count 属性就会递增。这个想法是,在低缩放(即缩小)时,我只会查询集群对象并将它们放置在地图上,而不是实际的项目上。

我的问题是:根据NSManagedObject 参考 https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html#//apple_ref/doc/uid/TP30001171-BBCJFJFC,你不应该在里面取东西awakeFromInsert,那么如何确保插入一种托管对象会更新另一种相应托管对象的值?


我已经在 iOS 版 Google 地图中搜索聚类标记库三天了,最后我得到了这个https://github.com/googlemaps/google-maps-ios-utils https://github.com/googlemaps/google-maps-ios-utils,它运行良好并且非常易于使用和理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iOS 中对 Google 地图标记进行聚类 的相关文章

随机推荐

  • Boost Python:多态容器?

    我有一个方法 或函数 它返回对多态对象列表的引用 class A class B public A std list
  • 使用 MYSQL 创建随机数

    我想知道是否有一种方法可以选择 100 到 500 之间随机生成的数字以及选择查询 Eg SELECT name address random number FROM users 我不必将此数字存储在数据库中 而只需使用它来显示目的 我尝试
  • 更新图像而不闪烁 ASP.NET C#

    我正在编写一个网站 该网站的页面必须显示图像 该图像是由 HttpHandler 使用查询字符串命令创建的 如何才能使其正常工作而不会出现任何闪烁 提前致谢 如果您需要一些代码 我很乐意分享 您可以使用 2 个 UpdatePanel 并在
  • 反序列化之前从 JSON 中删除奇怪的隐藏字符

    我有一些 JSON 发送给我 当它尝试反序列化时会中断 它似乎含有一颗黑色钻石 上面有 在里面 我看不到该角色 但它显然在那里 但在我的系统上失败了 如何摆脱这个问题并保持 JSON 完整以进行反序列化 UPDATE 以下是 JSON 中间
  • 使用 Spring 与 RabbitMQ 集成

    我正在为我们的一个应用程序开发消息传递界面 该应用程序是一种服务 旨在接受 作业 进行一些处理并返回结果 实际上以文件的形式 这个想法是使用 RabbitMQ 作为消息传递基础设施 并使用 Spring AMQP 来处理协议特定的细节 我不
  • SFINAE 无法有条件地编译成员函数模板

    我正在尝试你使用std enable if使用 SFINAE 和以下代码有条件地仅选择两个成员函数模板中的一个 include
  • 如果单元格包含 1 个或多个关键字,则更改不同单元格的值

    我有一个列 其中包含一些字符串描述 例如 Bob davids mowing the lawn tipping cows 此外 我将在不同的工作表或列上列出关键字列表 例如工作关键字列表1 davids work 播放关键字列表 mowin
  • 原型 Bean 未按预期自动装配

    测试控制器 java RestController public class TestController Autowired private TestClass testClass RequestMapping value test me
  • SimpleXML:使用包含命名空间的 XML

    我正在尝试从 google picasa API 获取地理信息 这是原始 XML
  • 添加文件://. chrome 扩展程序的权限

    如何使用 Chrome 扩展启用 file 的权限 在我的manifest json中我尝试过 permissions file and permissions file 也 permissions C 这些都不起作用 permission
  • FloorPlanner 应用程序的 SVG/Canvas 与 Flash

    我计划创建一个平面图应用程序 允许用户使用鼠标绘制 调整大小 移动和旋转对象 我只是想知道使用 Flash 或 Javascript 是否会更好 如果使用 Javascript 我应该使用 canvas 还是 SVG 该应用程序将允许拖动选
  • AngularJS 将 ui-select 包装在自定义指令中

    我正在尝试将 ui select 包装在自定义指令中 https github com angular ui ui select https github com angular ui ui select this adminv2 dire
  • 用矩阵变换 3D 向量的方法

    我一直在阅读一些关于用矩阵转换 Vector3 的文章 并且正在努力深入研究数学并自己编码 而不是使用现有代码 无论出于何种原因 我的学校课程从未包含矩阵 所以我正在填补我的知识空白 值得庆幸的是 我认为我只需要一些简单的东西 背景是我正在
  • 如何在 API 级别 8 到 19 的 Android 设备上同时使用 DigitalClock 和 TextClock?

    我正在为 API 级别 8 到 19 的设备制作应用程序 其中包含时钟 我尝试将 DigitalClock 进行布局 我从 Eclipse 收到消息 该类自 API 级别 17 起已弃用 建议使用 TextClock 但是当我放置 Text
  • 中止 `git stash apply` [重复]

    这个问题在这里已经有答案了 我很遗憾应用了存储 错误的分支 我如何撤消此操作并将我的存储返回到我的存储列表 以便稍后将其应用到正确的分支 如果你还没有承诺 你应该能够git stash再次 可能与git reset HEAD first A
  • A:Visited 未检测到 AJAX 链接

    我注意到a visited样式不适用于通过 JavaScript 请求的链接 但是 在标准用户单击时 会立即和随后的刷新时注册访问的完全相同的链接 我不确定这是否是独一无二的jQuery 移动 http forum jquery com t
  • JavaScript 键码 46 是 DEL 功能键还是 (.) 句点符号?

    我使用 jquery 在 JavaScript 中编写一些逻辑 其中我必须根据 REGEX 模式检查输入内容 例如 a zA Z0 9 Alpha numeric and 逻辑差不多完成了 我只是在过滤功能键 DEL 时遇到了一点问题 我的
  • 为什么在 CSS3 中启用硬件加速会降低性能?

    我在 css3 实验中将 10 000 个小 div 元素从浏览器视口的顶部移动到底部 对于此测试 我使用两种不同的方法 使用 GPU 加速translate3D x y z or translateZ 0 无需 GPU 加速 只需调整to
  • OpenCV Python 和 SIFT 功能

    我知道有很多关于Python and OpenCV但我没有找到有关这个特殊主题的帮助 我想提取SIFT关键点来自 python OpenCV 中的图像 我最近安装了 OpenCV 2 3 可以访问 SURF 和 MSER 但不能访问 SIF
  • 在 iOS 中对 Google 地图标记进行聚类

    我有一个基于地图的应用程序 使用 Google 地图的 iOS SDK 我需要在核心数据数据库中存储多达数千个项目 并在地图上用标记显示它们 出于性能和可用性的原因 我需要在用户缩小时对这些标记进行聚类 但我需要确保放置代表性标记 以便用户