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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top