iPhone - 删除地图的图钉注释,但不是我的

时间:2010-01-14 11:01:30

标签: iphone mkmapview mkpinannotationview

我使用MapView并在其上设置注释(紫色针脚)和我的用户位置(这是一个蓝色圆圈)。 因为紫色图钉注释会移动,所以我必须将它们移除并将它们设置为新的地图。

我用它设置:

CLLocationCoordinate2D coordinate;
coordinate.latitude = 49.2802;
coordinate.longitude = -123.1182;
NSUInteger count = 1;
for(int i = 0; i < 10; i++) {
    CGFloat latDelta = rand()*.035/RAND_MAX - .02;
    CGFloat longDelta = rand()*.03/RAND_MAX - .015;
    CLLocationCoordinate2D newCoord = {coordinate.latitude+latDelta, coordinate.longitude+longDelta};
    MyMapAnnotation* annotation = [[MyMapAnnotation alloc] initWithCoordinate:newCoord andID:count++];
    [mapView addAnnotation:annotation];
    [annotation release];
}

在此之前,我做了一个

[mapView removeAnnotations:mapView.annotations];

但是这条线也用蓝点删除了我的位置! 如果不删除我的位置,我怎么能这样做。

提前多多感谢&amp;最诚挚的问候。

1 个答案:

答案 0 :(得分:3)

一种非常简单的方法是在删除注释的循环之前包含这一行:

    self.mapView.showsUserLocation = NO;

然后在循环之后,将用户位置放回

    self.mapView.showsUserLocation = YES;

编辑:我刚刚看到您没有遍历这些位置以删除它们。我不确定这是否适用于你的方式。