MKMapView指定坐标添加大头针

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface UserLocationViewController : UIViewController<MKMapViewDelegate>{

    MKMapView *mapView;
    UIButton *btn;
}
@property(nonatomic,retain) MKMapView *mapView;
@property(nonatomic,retain) UIButton *btn;
-(void)btnPressed:(id)sender;
@end
     

     - (void)viewDidLoad {
     mapView=[[MKMapView alloc]initWithFrame:CGRectMake(10100300100)];
     mapView.scrollEnabled=NO;
     [mapView setDelegate:self];
     //设置地图中心
     CLLocationCoordinate2D coordinate;
     coordinate.latitude = 23.134844f;
     coordinate.longitude = 113.317290f;
     MKPointAnnotation *ann = [[MKPointAnnotation alloc] init];
     ann.coordinate = coordinate;
     [ann setTitle:@"天河城"];
     [ann setSubtitle:@"购物好去处"];
     //触发viewForAnnotation
     [mapView addAnnotation:ann];
      //添加多个
     
//[mapView addAnnotations]
    
     
     
     
     
//设置显示范围
     MKCoordinateRegion region;
     region.span.latitudeDelta = 0.001;
     region.span.longitudeDelta = 0.001;
     region.center = coordinate;
     // 设置显示位置(动画)
     [mapView setRegion:region animated:YES];
     // 设置地图显示的类型及根据范围进行显示
     [mapView regionThatFits:region];
    

     [self.view addSubview:mapView];
     
     btn=[[UIButton alloc]initWithFrame:CGRectMake(10100300100)];
     [btn setTag:1];
     [btn setBackgroundColor:[UIColor clearColor]];
     [btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
     [self.view addSubview:btn];
 
     [super viewDidLoad];
 }
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
    MKPinAnnotationView *pinView = nil;
    
    static NSString *defaultPinID = @"com.invasivecode.pin";
    pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
    if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]
                                      initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
    pinView.pinColor = MKPinAnnotationColorRed;
    pinView.canShowCallout = YES;
    pinView.animatesDrop = YES;
    return pinView;
}
-(void)btnPressed:(id)sender
{
    [sender setHidden:YES];
    [self.mapView setFrame:CGRectMake(00320480)];
}

原文地址:https://www.cnblogs.com/bandy/p/2395409.html