我使用本教程整合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