【发布时间】:2010-12-09 01:43:11
【问题描述】:
我正在使用地图套件并显示自定义注释视图。一个是 carImage,另一个是 userImage(作为用户的当前位置)。现在我想显示地图套件提供的当前用户位置默认值。但无法显示它。如何在地图套件中显示蓝色圆圈+我的汽车?
【问题讨论】:
标签: objective-c xcode iphone-sdk-3.0 mapkit mkpinannotationview
我正在使用地图套件并显示自定义注释视图。一个是 carImage,另一个是 userImage(作为用户的当前位置)。现在我想显示地图套件提供的当前用户位置默认值。但无法显示它。如何在地图套件中显示蓝色圆圈+我的汽车?
【问题讨论】:
标签: objective-c xcode iphone-sdk-3.0 mapkit mkpinannotationview
要显示用户位置,请在地图视图对象上将以下属性设置为 true
mapView.showsUserLocation = YES;
要显示自定义注释,请在地图视图注释上设置图像属性
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
// check for nil annotation, dequeue / reuse annotation
// to avoid over riding the user location default image ( blue dot )
if ( mapView.UserLocation == annotation ) {
return nil; // display default image
}
MKAnnotationView* pin = (MKAnnotationView*)
[mapView dequeueReusableAnnotationViewWithIdentifier: PIN_RECYCLE_ID];
if ( pin == nil ) {
pin = [(MKAnnotationView*) [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier: PIN_RECYCLE_ID] autorelease] ;
pin.canShowCallout = YES;
}
else {
[pin setAnnotation: annotation];
}
pin.image = [UIImage imageNamed:@"car-image.png"];
return pin;
}
【讨论】: