Rinfrescarmi la MapView
-
19-09-2019 - |
Domanda
ho un MapView con perni su di esso, e il seguente codice per CLLocation e getDistance tra me e un altro punti sulla mappa:
- (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];
}
ma come posso implementare un metodo che consente di aggiornare la mappa quando ho scheda su un pulsante? che ho sempre trovato i perni intorno a me quando voglio. il pulsante non è il problema, solo l'aggiornamento!
Spero che qualcuno mi potrebbe aiutare ??
Con i migliori saluti Marco
Soluzione
per quanto ne so non c'è una tale cosa come removeAllAnnotations, almeno non in iOS4 SDK ... anche se è possibile risolvere rapidamente usando
NSArray *ants = [mapView_ annotations];
[mapView_ removeAnnotations:ants];
stesso vale per le sovrapposizioni
NSArray *ants = [mapView_ overlays];
[mapView_ removeOverlays:ants];
finora è il modo migliore che ho trovato per farlo.
Altri suggerimenti
Basta removeAllAnnotations
al tuo MapView e aggiungere quelle nuove, questo verrà aggiornato le annotazioni sulla mappa.