刷新我的mapView

时间:2010-03-10 10:36:27

标签: iphone mkmapview cllocationmanager mkpinannotationview

我有一个带有引脚的mapView,以及我和地图上另一个点之间的CLLocation和getDistance的以下代码:

    - (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation{

 Koordinate *kunde = [[Koordinate alloc] init];
 kundenPoints = [[NSMutableArray array] retain];

 for(int i = 0; i<[eventPoints count]; i++){
  kunde = [eventPoints objectAtIndex:i];
  CLLocation *userLoc = [[CLLocation alloc] initWithLatitude:kunde.latitude longitude:kunde.longtitude];
  double distance = [newLocation getDistanceFrom:userLoc] / 1000;
  if(distance <= 100){
   [kundenPoints addObject:kunde];
  }else {
  }
 }
 [mapView addAnnotations:kundenPoints];
}

但是当我在按钮上选项卡时,如何实现刷新地图的方法? 当我想要的时候,我总是把针扎在我身边。 按钮不是问题,只有刷新!

我希望有人可以帮助我?

最好的问候 马可

2 个答案:

答案 0 :(得分:2)

据我所知,没有removeAllAnnotations这样的东西,至少在iOS4 SDK中没有...虽然你可以使用

快速修复它
NSArray *ants = [mapView_ annotations];
[mapView_ removeAnnotations:ants];

同样适用于叠加

NSArray *ants = [mapView_ overlays];
[mapView_ removeOverlays:ants];

到目前为止,我发现这是最好的方式。

答案 1 :(得分:0)

只需removeAllAnnotations到mapView并添加新的,这将刷新地图上的注释。