Refrescar mi MAPview
-
19-09-2019 - |
Pregunta
tengo un MAPview con alfileres en ella, y el siguiente código para CLLocation y getDistance entre yo y otros puntos del mapa:
- (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];
}
Pero cómo puedo poner en práctica un método que actualiza el mapa cuando lengüeta en un botón? que siempre me dan los pasadores alrededor de mí cuando quiero. el botón no es el problema, sólo la actualización!
espero que alguien me puede ayudar ??
Los mejores deseos Marco
Solución
por lo que yo sé que no hay tal cosa como removeAllAnnotations, al menos no en iOS4 SDK ... aunque se puede arreglar rápidamente mediante
NSArray *ants = [mapView_ annotations];
[mapView_ removeAnnotations:ants];
mismo ocurre con superposiciones
NSArray *ants = [mapView_ overlays];
[mapView_ removeOverlays:ants];
hasta ahora es la mejor manera que he encontrado para hacerlo.
Otros consejos
Sólo removeAllAnnotations
a su MAPview y añadir los nuevos, esto va a actualizar las anotaciones en el mapa.