MKMapView指定坐标添加大头针

来源:互联网 发布:推荐程序员书 编辑:程序博客网 时间:2024/04/26 21:42
#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(10, 100, 300, 100)];
     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(10, 100, 300, 100)];
     [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(0, 0, 320, 480)];

}


原创粉丝点击