我使用本教程整合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的额外实例变量。这个ID是唯一的,我知道哪个locationId应该用新的坐标更新。 我怎样才能轻松访问它?我可以删除注释: “注释locationId = 3999删除并添加新的坐标?” - 更好:“带有locationId = 3999的注释设置了新的坐标,并且如果该针”更新了位置“。 – Tim 2009-12-10 09:16:45
啊,我忘了。我已经看过这个教程,但这不能帮助我,因为解决我的问题没有什么用处。 – Tim 2009-12-10 09:19:38