J'utilise ce tutoriel pour intégrer MapKit à ma demande: http://iphonebcit.wordpress.com/iphone-map-kit-tutorial/iPhone MapKit - annotations mise à jour des coordonnées et plan
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];
}
et
- (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;
}
Ainsi, les broches fixeront sur la carte au hasard. Dans ma demande, les coordonnées vont changer. Comment puis-je modifier les coordonnées des annotations afin qu'elles soient mises à jour sur la carte?
Quelqu'un sait-il?
Merci beaucoup. Mon protocole d'annotation implémenté a une variable d'instance supplémentaire appelée locationId. Cet identifiant est unique et je sais quel emplacement doit être mis à jour avec les nouvelles coordonnées. Comment pourrais-je y accéder facilement? Puis-je supprimer une annotation avec: « annotation avec LocationID = 3999 supprimer et ajouter les nouvelles coordonnées? » - mieux: "annotation avec locationId = 3999 définir de nouvelles coordonnées et mettre à jour l'emplacement si la broche". – Tim
Ah, j'ai oublié. Je l'ai déjà vu ce tutoriel, mais cela ne peut me aider, parce qu'il n'y a rien d'utile dans pour résoudre mon problème. – Tim