Frage

ich habe eine mapView mit Stiften auf, und den folgenden Code für CLLocation und getDistance zwischen mir und anderen Punkte auf der Karte:

    - (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];
}

aber wie kann ich eine Methode implementieren, die die Karte aktualisiert, wenn ich Registerkarte auf eine Schaltfläche? dass ich immer die Stifte um mich, wenn ich will. die Taste ist nicht das Problem, nur die Refresh!

ich hoffe, dass mir jemand helfen könnte ??

Mit freundlichen Grüßen Marco

War es hilfreich?

Lösung

soweit ich weiß, dass es nicht so etwas wie removeAllAnnotations ist, zumindest nicht in iOS4 SDK ... obwohl Sie es schnell beheben können mit

NSArray *ants = [mapView_ annotations];
[mapView_ removeAnnotations:ants];

Dies gilt auch für Overlays

NSArray *ants = [mapView_ overlays];
[mapView_ removeOverlays:ants];

so weit ist der beste Weg, die ich gefunden habe, es zu tun.

Andere Tipps

Sie einfach zu Ihrem mapView removeAllAnnotations und die neuen hinzufügen, wird dies die Anmerkungen auf Ihrer Karte aktualisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top