我有針對不同位置的自定義引腳圖像,我可以同時顯示所有不同的引腳。但問題是,當我顯示用戶的當前位置時,所有引腳顏色都會改變。MKMapView:顯示用戶當前位置時的引腳顏色變化
這裏是代碼:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
if ([annotation isKindOfClass:[MapAnnotation class]]) {
MKAnnotationView *test=[[MKAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:@"AnnotationIdentifier"];
test.canShowCallout = YES;
// test.animatesDrop = YES;
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
test
.rightCalloutAccessoryView = rightButton;
switch (_pushpinTag) {
case 5:
test.image = [UIImage imageNamed:@"pushpin_green.png"];
break;
case 6:
test.image = [UIImage imageNamed:@"pushpin_blue.png"];
break;
case 7:
test.image = [UIImage imageNamed:@"pushpin_black.png"];
break;
case 8:
test.image = [UIImage imageNamed:@"pushpin_yellow.png"];
break;
case 3:
test.image = [UIImage imageNamed:@"pushpin_red.png"];
break;
default:
break;
}
return test;
}
}
現在在不同的按鈕按下,不同的引腳(自定義圖像)顯示。可以說我有綠色,藍色,黑色和黃色的針腳。我按下按鈕顯示綠色引腳,然後是藍色,然後是黑色,所有引腳都顯示在各自的圖像中。但是,當我按下按鈕顯示用戶當前位置時,所有引腳都會更改爲最後一個按下引腳,即黑色。
這裏是顯示用戶的當前位置的代碼:
- (IBAction)currentLocationButton:(id)sender {
_mapView.showsUserLocation = YES;
[_mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES];
}
任何人都可以指出什麼是錯我在幹嘛?
謝謝大家:)
什麼是'_pushpinTag'以及它是如何設置的? – Anna