我有一个基于地图的应用程序,使用的是Google Maps的iOS开发工具包。我需要在核心数据数据库中存储多达数千个项目,并在地图上显示它们的标记。出于性能和可用性的原因,我需要在用户缩小时对这些标记进行聚类,但我需要确保放置代表性标记,以便用户知道在哪里放大才能看到更多细节。
我的核心数据模型中的每个条目都存储了纬度/经度双精度值。因此,我想到的聚类项目是保留一个单独的实体,在那里我剥离地理坐标中不重要的部分,并在其中存储计数。
因此,每当在数据库中插入经纬度为{130.20293849,-130.2}项时,另一个经纬度为{44.9,-130.2}的“集群”对象的count属性就会递增。这个想法是,在低缩放(即,缩小),我只会查询集群对象,并将它们放在地图上,而不是实际的项目。
我的问题是:根据NSManagedObject reference,您不应该在awakeFromInsert中获取内容,那么如何确保插入一种托管对象会更新相应的另一种托管对象的值?
发布于 2014-08-04 15:13:10
我已经在Google Maps for iOS中搜索库中的聚类标记三天了,最终我得到了这个https://github.com/googlemaps/google-maps-ios-utils,它工作得很好,非常容易使用和理解。
发布于 2013-11-15 02:06:29
看看routeMe,这是默认的
/** Whether the annotation should be clustered when map view clustering is enabled. Defaults to是的. */ @property (nonatomic, assign) BOOL clusteringEnabled;
https://stackoverflow.com/questions/18710189
复制相似问题