如何在地图工具包中显示默认用户位置和自定义注释视图?

时间:2009-10-22 12:10:10

标签: objective-c xcode iphone-sdk-3.0 mapkit mkpinannotationview

我正在使用地图工具包并显示自定义注释视图。一个是carImage,另一个是userImage(作为用户的当前位置)。现在我想显示map kit提供的当前用户位置默认值。但是无法显示它。如何在地图套件中显示蓝色圆圈+我的车?

1 个答案:

答案 0 :(得分:8)

要显示用户位置,请在地图视图对象

上将以下属性设置为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;
}