ios:mapKit viewForAnnotation从PIN中消失弹出标题?
我正在尝试使用MapKit创建带有标题弹出窗口的Dragable自定义pin。但是,当我实现viewForAnnotation以使PIN显示为自定义图像时,其弹出标题将消失,就像我在地图上点击PIN一样,它不会显示titla弹出窗口 虽然如果我评论viewForAnnotation效果很好,但我需要自定义图像和点击pin时弹出的标题 下面是代码ios:mapKit viewForAnnotation从PIN中消失弹出标题?,ios,iphone,objective-c,ipad,mapkit,Ios,Iphone,Objective C,Ipad,Mapkit,我正在尝试使用MapKit创建带有标题弹出窗口的Dragable自定义pin。但是,当我实现viewForAnnotation以使PIN显示为自定义图像时,其弹出标题将消失,就像我在地图上点击PIN一样,它不会显示titla弹出窗口 虽然如果我评论viewForAnnotation效果很好,但我需要自定义图像和点击pin时弹出的标题 下面是代码 - (void)viewDidLoad { MKCoordinateRegion newRegion = MKCoordinateRegion
- (void)viewDidLoad
{
MKCoordinateRegion newRegion = MKCoordinateRegionMakeWithDistance(LocCoordinate, 20000, 20000);
DDAnnotation *point = [[DDAnnotation alloc] init];
[point setCoordinate:mapCenter];
[point setTitle:@"Where am I"];
[point setSubtitle:@"I am here"];
[self.mvTripMap addAnnotation:point];
[self.mvTripMap setRegion:newRegion animated:YES];
[super viewDidLoad];
}
-(MKAnnotationView *)mapView:(MKMapView *)MapView viewForAnnotation:(id<MKAnnotation>)annotation{
static NSString *cabAnnotationIdentifier=@"cabAnnotationIdentifier";
MKAnnotationView *annotationView=[MapView dequeueReusableAnnotationViewWithIdentifier:cabAnnotationIdentifier];
if(!annotationView){
annotationView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:cabAnnotationIdentifier];
annotationView.image=[UIImage imageNamed:@"start.png"];
annotationView.draggable = YES;
}
return annotationView;
}
只需放置
annotationView.canShowCallout=YES代码>和它将工作
更新代码
-(MKAnnotationView *)mapView:(MKMapView *)MapView viewForAnnotation:(id<MKAnnotation>)annotation{
static NSString *cabAnnotationIdentifier=@"cabAnnotationIdentifier";
MKAnnotationView *annotationView=[MapView dequeueReusableAnnotationViewWithIdentifier:cabAnnotationIdentifier];
if(!annotationView){
annotationView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:cabAnnotationIdentifier];
annotationView.image=[UIImage imageNamed:@"start.png"];
annotationView.draggable = YES;
annotationView.canShowCallout= YES;
}
return annotationView;
}
-(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:(id)注释{
静态NSString*cabAnnotationIdentifier=@“cabAnnotationIdentifier”;
MKAnnotationView*annotationView=[MapView dequeueReusableAnnotationViewWithIdentifier:cabAnnotationIdentifier];
如果(!annotationView){
annotationView=[[MKAnnotationView alloc]initWithAnnotation:annotation重用标识符:cabAnnotationIdentifier];
annotationView.image=[UIImage ImageName:@“start.png”];
annotationView.draggable=是;
annotationView.canShowCallout=是;
}
返回注释视图;
}
#import "DDAnnotation.h"
@implementation DDAnnotation
@synthesize coordinate = coordinate_;
@synthesize title = title_;
@synthesize subtitle = subtitle_;
- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate addressDictionary:(NSDictionary *)addressDictionary {
if ((self = [super initWithCoordinate:coordinate addressDictionary:addressDictionary])) {
self.coordinate = coordinate;
}
return self;
}
@end
-(MKAnnotationView *)mapView:(MKMapView *)MapView viewForAnnotation:(id<MKAnnotation>)annotation{
static NSString *cabAnnotationIdentifier=@"cabAnnotationIdentifier";
MKAnnotationView *annotationView=[MapView dequeueReusableAnnotationViewWithIdentifier:cabAnnotationIdentifier];
if(!annotationView){
annotationView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:cabAnnotationIdentifier];
annotationView.image=[UIImage imageNamed:@"start.png"];
annotationView.draggable = YES;
annotationView.canShowCallout= YES;
}
return annotationView;
}