我正在制作一个将图钉/注释放在地图视图中的应用程序。当用户接近某个图钉时,我希望图钉改变颜色。一切正常,引脚放置在我想要的位置,当我足够接近时,我会收到一条警报消息。但我不确定如何更新引脚颜色。我必须删除注释并替换它们吗?似乎没有必要,我正在寻找的只是某种更新/刷新地图视图而无需替换注释。
CLLocation *place =[[CLLocation alloc] initWithCoordinate:location altitude:1 horizontalAccuracy:1 verticalAccuracy:-1 timestamp:nil];
AddresAnnotation *ann = [[AddresAnnotation alloc] initWithCoordinate:place.coordinate];
[ann setTitle:[rows placeName]];
[mapView addAnnotation:ann];
location 是一个 CLLocationCoordinate2D
rows 是一个包含不同位置及其信息的对象
这是 mapView 委托方法:(不确定为什么最后一个“}”在代码示例之外)
-(MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation{
if (annotation != self.mapView.userLocation) {
annView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Plats"] autorelease];
[annView setPinColor:MKPinAnnotationColorRed];
annView.animatesDrop = TRUE;
annView.canShowCallout = YES;
return annView;
} else {
zoomButton.enabled = TRUE;
return nil;
}
}