来自:http://blog.sina.com.cn/s/blog_4adf31ea010176hq.html
首先,加入地图包
接口代码:
#import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface View30 : UIViewController <CLLocationManagerDelegate,MKMapViewDelegate> { MKMapView *map; } @end
实现代码:
- (void)viewDidLoad { [super viewDidLoad]; //创建位置管理器 CLLocationManager *locationManager = [[CLLocationManager alloc] init]; //设置代理 locationManager.delegate=self; //指定需要的精度级别 locationManager.desiredAccuracy=kCLLocationAccuracyBest; //设置距离筛选器 locationManager.distanceFilter=500.0f; //启动位置管理器 [locationManager startUpdatingLocation]; MKCoordinateRegion theRegion = { {0.0, 0.0 }, { 0.0, 0.0 } }; theRegion.center=[[locationManager location] coordinate]; [locationManager release]; //设置地图 map=[[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; map.delegate=self; //是否显示用户的位置信息 map.showsUserLocation=YES; //向上滚动 [map setZoomEnabled:YES]; //横向滚动 [map setScrollEnabled:YES]; //设置地图范围 越小越精确 theRegion.span.longitudeDelta = 0.05f; theRegion.span.latitudeDelta = 0.05f; [map setRegion:theRegion animated:YES]; [self.view addSubview:map]; } - (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation {//注释指针 MKPinAnnotationView *pinView = nil; static NSString *defaultPinID = @"mylocation"; pinView = (MKPinAnnotationView *)[map dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; if ( pinView == nil ) { pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease]; } pinView.pinColor = MKPinAnnotationColorRed; pinView.canShowCallout = YES; pinView.animatesDrop = YES; [map.userLocation setTitle:@"我的位置"]; [map.userLocation setSubtitle:@"小标题"]; return pinView; }