iOS-地图优化

地图大头针的优化

摘要:调用了iOS (注:cluster : 美 /'klʌstɚ/  组, 集中) SDK地图包的应用会遇到这样的问题:当地图中的标注信息过多时,不仅地图界面会挤满红色的标注,还会影响用户体验。对此开发者会使用REVClusterMap(这个已经过时,星星不多,年代久远) API等控件。近日,开发团队Applidium开放了由他们编写的一套源代码,用于解决这一问题。
  • 1.在iOS SDK中最常用到的框架无疑是地图工具包框架,它可以让你轻松地将地图嵌入到你的应用程序中,并在地图中添加标注(地图中的大头针图标)。众所周知,在一般情况下,使用地图工具包需要遵循以下方法:首先要实例化一个标注(标注需要实现MKAnnotation协议),然后将标注添加到地图中(一个MKMapView 实例)。最后你需要告诉地图代理,标注以什么形式显示在地图上。综上来看,整个过程很简单。

  • 其实它也存在缺点:当需要显示大量的标注时,这个过程简单的方法便开始惹麻烦了:你的设备会因为显示过多的标注而反应迟缓,而且当你在平移或放大地图时,用户体验会大打折扣。而且从可用性角度来看,当地图上显示了大量标注时,很多大头针会重叠起来,用户很难选中正确的注释。

  • 解决办法 : 我们可以通过Clustering方法(聚类算法)来解决这个问题。Clustering就是将距离相近的几个标注合并显示,比如照片、人名、商铺。开发团队Applidium近日开放了由他们编写的ADClusterMapView的代码,用于解决这一问题。

  • 地图大头针优化须知 : 实际上,iPhone内置的应用早已采用Clustering方法,但不幸的是,苹果并没有将这个它加入到开放的API中。不过,现在已经有一些可以实现Clustering的实例了,其中有需要收费的,比如Superpin或者DTClusterMaker,也有开源的,比如REVClusterMap(2012年的已经过时,只有300多颗星星)。

你可能感兴趣的:(iOS-地图优化)