MapKit Framework中的注释是否是懒惰加载的?通过记录我发现在加载Map本身的开始时调用了viewForAnnotation。
此外,我希望只加载那些在地图界面中可见的注释,并在它们处于平移状态时将其删除。我怎样才能做到这一点?
我的最后一个问题是关于性能随着注释的数量而降低。我目前有大约10,000个注释要添加到地图中。那么我的延迟加载有多好?地图视图是否被这些注释重载,因此无法提供良好的用户体验?在模拟器上一切似乎都很好,这对真正的iPhone有什么影响?
答案 0 :(得分:1)
我看待它的方式......我不会一次加载所有10,000个注释。用户将在任何给定的时间点处于特定位置。我会加载该区域内和周围的所有场地/注释,以便只向用户显示相关数据。当用户滚动到地图中的某个其他部分时...然后我会获取地图上该特定点的位置数据/信息,然后加载它而不是加载整个事物。 (即所有10000个注释)。
谷歌地图也做同样的事情。它仅加载相关数据,即在用户区域内和周围的数据/位置/注释。如果用户滚动或浏览到另一个位置,则可以加载该区域内和周围的注释。因此,整个过程将更轻,更少令人担忧。
请使用CLOSER查看Google地图。