iPhone - убрать пин-аннотации карты, но не мою - PullRequest
2 голосов
/ 14 января 2010

Я использую 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];

но эта линия также удаляет мое местоположение с синей точкой! Как я мог сделать это, не удаляя мое местоположение.

Большое спасибо заранее и наилучшими пожеланиями.

1 Ответ

3 голосов
/ 14 января 2010

Очень простой способ сделать это - включить эту строку перед циклом, в котором вы удаляете аннотации:

    self.mapView.showsUserLocation = NO;

, а затем после цикла вернуть местоположение пользователя обратно в

* 1005.*

РЕДАКТИРОВАТЬ: Я только что видел, что вы не просматривали места, чтобы удалить их.Я не уверен, будет ли это работать так, как вы это делаете.

...