用新的针脚iphone dev重新加载mapView?

时间:2011-10-31 05:25:44

标签: iphone mkmapview

我正在开发一个应用程序,其中我需要同时显示多个事件位置,我有两种类型的事件(我的事件和所有事件)。我有机会通过段控制在我的事件和所有事件之间切换,首先它显示所有事件位置,当用户切换到我的事件时,它将删除或隐藏所有事件位置(引脚)并在同一地图视图上显示我的事件位置引脚。我有点困惑如何使用新引脚重新加载或刷新地图视图?

1 个答案:

答案 0 :(得分:3)

你可以试试这个......

    //Remove or hide all annotations
for (id annotation in mapView.annotations) {
    if (annotation != mapView.userLocation) {
        [[mapView viewForAnnotation:annotation] setHidden:YES]; // You can remove as well
    }
}

/ 代码删除注释而不是隐藏 /

    NSMutableArray *listRemoveAnnotations = [[NSMutableArray alloc] init];
for (id annotation in mapView.annotations) {
    if (annotation != mapView.userLocation) {
        [listRemoveAnnotations addObject:annotation];
    }
}
[mapView removeAnnotations:listRemoveAnnotations];
[listRemoveAnnotations release];

当处理所有注释时:

  • 如果隐藏了所有注释,请取消隐藏您希望显示的注释。
  • 如果删除了所有注释,请添加您希望显示的注释。