そのため、クラスター化ライブラリを使用して注釈をグループ化していますが、小さなバグがあり、マップを完全にズームインすると、非常に接近した注釈がグループ化されて表示されることがあります。これはフレームワークであるため、直接それについて多くを行うことはできませんが、マップが完全に拡大されている場合は、すべてのグループ化を無効にすることができます。問題は、これを行う信頼できる方法を見つけられないことです。
これは理想的には、マップが完全にズームインされているかどうかを確認したいregionDidChangeAnimated
場所です(これ以上ズームインできないポイントまで)。
func mapView(mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
NSOperationQueue().addOperationWithBlock {
let scale: Double = Double(self.map.bounds.size.width) / self.map.visibleMapRect.size.width
let annotations = self.clusteringManager?.clusteredAnnotationsWithinMapRect(self.map.visibleMapRect, withZoomScale: scale)
self.clusteringManager?.displayAnnotations(annotations, onMapView: self.map)
}
}
プロパティを調べてみmapView.region.span
ましたが、画面サイズなどによって変わると思います...
助言がありますか?前もって感謝します。