Я использую этот учебник для интеграции MapKit в моем приложении: http://iphonebcit.wordpress.com/iphone-map-kit-tutorial/iPhone MapKit - обновление аннотаций координаты и карта
CLLocationCoordinate2D coordinate;
coordinate.latitude = 49.2802;
coordinate.longitude = -123.1182;
NSUInteger count = 1;
for(int i = 0; i < 10; i++) {
CGFloat latDelta = rand()*.035/RAND_MAX - .02;
CGFloat longDelta = rand()*.03/RAND_MAX - .015;
CLLocationCoordinate2D newCoord = {coordinate.latitude+latDelta, coordinate.longitude+longDelta};
MapDemoAnnotation* annotation = [[MapDemoAnnotation alloc] initWithCoordinate:newCoord andID:count++];
[mapView addAnnotation:annotation];
[annotation release];
}
и
- (MKAnnotationView *)mapView:(MKMapView *)mapViewLocal viewForAnnotation:(id <MKAnnotation>)annotation {
MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mapViewLocal dequeueReusableAnnotationViewWithIdentifier:@"Pin"];
if(pinView == nil) {
pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Pin"];
pinView.pinColor = MKPinAnnotationColorPurple;
pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinView.animatesDrop = YES;
pinView.canShowCallout = YES;
} else {
pinView.annotation = annotation;
}
return pinView;
}
Так штифты установят на карта случайным образом. В моем приложении координаты будут меняться. Как изменить координаты аннотаций, чтобы они были обновлены на карте?
Кто-нибудь знает?
Большое спасибо. В моем реализованном протоколе аннотации есть дополнительная переменная экземпляра, называемая locationId. Этот идентификатор уникален, и я знаю, какое locationId должно быть обновлено с новыми координатами. Как я мог легко получить к нему доступ? Могу ли я удалить аннотацию с помощью: "аннотация с указанием locationId = 3999 удалить и добавить его с новыми координатами?" - лучше: «аннотация с locationId = 3999 задает новые координаты и обновляет местоположение, если это« контакт ». – Tim
А, я забыл. Я уже видел этот учебник, но это не может мне помочь, потому что в нем нет ничего полезного для решения моей проблемы. – Tim