我使用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;最诚挚的问候。
答案 0 :(得分:3)
一种非常简单的方法是在删除注释的循环之前包含这一行:
self.mapView.showsUserLocation = NO;
然后在循环之后,将用户位置放回
self.mapView.showsUserLocation = YES;
编辑:我刚刚看到您没有遍历这些位置以删除它们。我不确定这是否适用于你的方式。