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;
点聚合效果
效果如下:
上一篇
下一篇
本篇文章对您是否有帮助?