在xCode中为Web服务收费时重复的MKAnnotations

时间:2012-05-30 22:32:07

标签: iphone objective-c ios xcode ios5

我从Web服务的响应JSON中进行注释。

我可以在地图中加载引脚,但是当我移动中心的位置时,我必须重新加载一堆新的注释并删除旧注释。当我使用这种方法时,它只会对引脚充电,如果我移动中心,它会做同样的情况并重新充电。

我尝试了很多像这样的方法......

for (id<MKAnnotation> annotation in _mapView.annotations) {
    [_mapView removeAnnotation:annotation];
}

但它只是,这样做:我到达地图的中心,当我移动地图时,它返回到开始,我无法缩放地图,因为它重新加载和循环。

1 个答案:

答案 0 :(得分:1)

要删除所有注释,只需在添加新注释之前运行它。

 NSMutableArray *toRemove = [NSMutableArray arrayWithCapacity:15];
for (id annotation in mapView.annotations){
    if (annotation != mapView.userLocation)
        [toRemove addObject:annotation];

    [mapView removeAnnotations:toRemove];