google找了很久了 都没找到 
 
求各路大侠 有知道实现的 给个指引 小弟先行谢过了

解决方案 »

  1.   

    我查了资料 应该是自定义 callout  但是这个怎么弄呢? 
      

  2.   

    @interface MapAnnotation : NSObject <MKAnnotation>
    {
    CLLocationCoordinate2D coordinate;
    NSString *title;
    NSString *subtitle;
    NSString *urlstring;
    NSString *picstring;
    }
    @property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
    @property (nonatomic, retain) NSString *title;
    @property (nonatomic, retain) NSString *subtitle;
    @property (nonatomic, retain) NSString *urlstring;
    @property (nonatomic, retain) NSString *picstring;
    @end#import "MapAnnotation.h"
    @implementation MapAnnotation
    @synthesize coordinate;
    @synthesize title;
    @synthesize subtitle;
    @synthesize urlstring;
    @synthesize picstring;- (id) initWithCoordinate: (CLLocationCoordinate2D) aCoordinate
    {
    if (self = [super init]) coordinate = aCoordinate;
    return self;
    }-(void) dealloc
    {
    self.title = nil;
    self.subtitle = nil;
    self.urlstring = nil;
    self.picstring = nil;
    [super dealloc];
    }
    @end
      

  3.   

    - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
    {
    MapAnnotation *annotation = view.annotation;
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:annotation.urlstring]];
    }
      

  4.   

    在- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation方法中写
    [rightButton addTarget:self  
                                action:@selector(showDetails:)  //点击右边的按钮之后,显示另外一个页面  
                      forControlEvents:UIControlEventTouchUpInside];在外面简历一个showDetails的函数
    - (void)showDetails:(id)sender;
      

  5.   

    xcode help 里面找一个叫 "MapCallouts" 的 Sample Code。
    主要是MapViewController里面的
    - (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
    这个函数
    楼上说的就是其中的一段代码。