如何删除 MkMapView 上当前在 iOS 8 上不可见的所有注释
How can I remove all annotations on my MkMapView that are not currently visible on iOS 8
在 iOS 上使用 Swift 1.2 在我的 MkMapView 上有一些可见的注释 8. 现在,如果用户在地图上滚动,我想删除所有注释,目前没有可见。
我该怎么做?
首先获取当前可见的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)
}
}
在 iOS 上使用 Swift 1.2 在我的 MkMapView 上有一些可见的注释 8. 现在,如果用户在地图上滚动,我想删除所有注释,目前没有可见。
我该怎么做?
首先获取当前可见的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)
}
}