iOS地图SDK支持点聚合功能,可通过缩小地图层级,将定义范围内的多个标注点,聚合显示成一个标注点,解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。
初始化点聚合管理类
//声明点聚合管理类全局变量@property (nonatomic, strong) BMKClusterManager *_clusterManager;//初始化点聚合管理类_clusterManager = [[BMKClusterManager alloc] init];
添加点数据
CLLocationCoordinate2D coor = CLLocationCoordinate2DMake(39.915, 116.404);//向点聚合管理类中添加标注for (NSInteger i = 0; i < 20; i++) {double lat = (arc4random() % 100) * 0.001f;double lon = (arc4random() % 100) * 0.001f;BMKClusterItem *clusterItem = [[BMKClusterItem alloc] init];clusterItem.coor = CLLocationCoordinate2DMake(coor.latitude + lat, coor.longitude + lon);[_clusterManager addClusterItem:clusterItem];}
点聚合源码,请参考Demo中的 BMKClusterAnnotationPage;
Swift 源码参考 BMKSwiftDemo 中的 BMKClusterAnnotationPage.swift;
点聚合效果
效果如下:
上一篇
下一篇
本篇文章对您是否有帮助?