Actualiser mon Mapview
-
19-09-2019 - |
Question
J'ai un Mapview avec des épingles sur, et le code suivant pour CLLocation et GetDistance entre moi et un autre point sur la carte:
- (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];
}
mais comment puis-je mettre en œuvre une méthode qui rafraîchit la carte quand je onglet sur un bouton? que je reçois toujours les broches autour de moi quand je veux. le bouton est pas le problème, seul le rafraîchissement!
J'espère que quelqu'un pourrait me aider ??
Cordialement Marco
La solution
pour autant que je sache, il n'y a pas une telle chose comme removeAllAnnotations, du moins pas dans iOS4 SDK ... mais vous pouvez corriger rapidement à l'aide de
NSArray *ants = [mapView_ annotations];
[mapView_ removeAnnotations:ants];
va de même pour les superpositions
NSArray *ants = [mapView_ overlays];
[mapView_ removeOverlays:ants];
à ce jour est la meilleure façon que j'ai trouvé de le faire.
Autres conseils
Juste removeAllAnnotations
à votre Mapview et ajoutez les nouveaux, cela rafraîchira les annotations sur votre carte.