#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;
}