Обновите мой MapView
-
19-09-2019 - |
Вопрос
у меня есть 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];
}
но как я могу реализовать метод, который обновляет карту, когда я нажимаю на кнопку?что я всегда надеваю булавки на себя, когда хочу.проблема не в кнопке, а только в обновлении!
я надеюсь, что кто-нибудь мог бы мне помочь??
с наилучшими пожеланиями Марко
Решение
насколько я знаю, нет такой вещи, как removeAllAnnotations, по крайней мере, не в iOS4 SDK...хотя вы можете быстро исправить это с помощью
NSArray *ants = [mapView_ annotations];
[mapView_ removeAnnotations:ants];
то же самое относится и к наложениям
NSArray *ants = [mapView_ overlays];
[mapView_ removeOverlays:ants];
пока это лучший способ, который я нашел для этого.
Другие советы
Просто removeAllAnnotations
в ваш MapView и добавьте новые, это обновит примечания на вашей карте.
Не связан с StackOverflow