PinFloyd
描述
MapKit 对 iOS 中注解进行集结。
用法
创建 ClusteringManager
实例
let clusteringManager = ClusteringManager()
添加注解
clusteringManager.add(annotations: annotations)
替换注解
clusteringManager.replace(annotations: annotations)
在区域改变时渲染注解
// MKMapViewDelegate
func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
clusteringManager.renderAnnotations(onMapView: mapView)
}
重用注解视图
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
switch annotation {
case let annotation as ClusterAnnotation:
let id = ClusterAnnotationView.identifier
var clusterView = mapView.dequeueReusableAnnotationView(withIdentifier: id)
if clusterView == nil {
clusterView = ClusterAnnotationView(annotation: annotation, reuseIdentifier: id)
} else {
clusterView?.annotation = annotation
}
return clusterView
default:
// return annotation view
}
安装
PinFloyd 通过 CocoaPods 提供。要安装,只需在您的 Podfile 中添加以下行
pod 'PinFloyd'
PinFloyd 也可通过 Carthage 提供。要安装,只需在您的 Cartfile 中写入
github "vadymmarkov/PinFloyd"
PinFloyd 也可以手动安装。只需下载并将 Sources
文件夹拖放到您的项目中。
作者
Vadym Markov,[email protected]
鸣谢
该库最初由位于 Hyper 的团队开发,Hyper 是一家对 优质代码 和令人愉悦的用户体验充满热情的数字通信机构。
贡献
有关更多信息,请检查 CONTRIBUTING 文件。
许可
PinFloyd 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。