iOS aktualisieren Anmerkungen auf der mapview

Ich habe eine mapview, wo der annotation werden die Koordinaten ständig aktualisiert, aber wenn ich setCoordinate, die annotation nicht bewegen. Wie aktualisiere ich die Anmerkungen reflektieren Ihre Koordinaten?

- (void)updateUnits {

    PFQuery *query = [PFQuery queryWithClassName:@"devices"];
    [query whereKeyExists:@"location"];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

        if (!error) {

            for (PFObject *row in objects) {

                PFGeoPoint *geoPoint = [row objectForKey:@"location"];
                CLLocationCoordinate2D coord = { geoPoint.latitude, geoPoint.longitude };

                for (id<MKAnnotation> ann in mapView.annotations) {

                    if ([ann.title isEqualToString:[row objectForKey:@"deviceid"]]) {

                        [ann setCoordinate:coord];

                        NSLog(@"latitude is: %f" , coord.latitude);
                        NSLog(@"Is called");
                        break;
                    }
                    else {

                        //[self.mapView removeAnnotation:ann];
                    }
                }
            }
        }
        else {

        }
    }];
}
  • Diese kann getan werden, indem nur die änderung der Koordinaten im Beschreibungs-Objekt. Es erfordert keine annotation entfernt werden, und dann Hinzugefügt, um anzeigen für die änderung wirksam wird
InformationsquelleAutor Jon Erickson | 2013-01-03
Schreibe einen Kommentar