如何删除我的MkMapView上当前在iOS 8上不可见的所有注释

时间:2015-08-18 11:46:36

标签: ios swift annotations mkmapview

在iOS 8上使用Swift 1.2在我的MkMapView上可以看到一些注释。现在,如果用户在地图上滚动,我想删除当前不可见的所有注释。

我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

首先获取当前可见的mapRect:

let visRect = mapView.visibleMapRect

现在你可以在那个矩形中获得所有注释:

let inRectAnnotations = mapView.annotationsInMapRect(visRect)

最后一步是迭代所有注释并检查注释是否在这些注释中

for anno : MKAnnotation in mapView.annotations {
  if (inRectAnnotations.contains(anno)) {
    //do what you want to do with the annotation (hide/remove)
  }
}