iPhone之获取当前位置

iphone之获取当前位置


首先,加入地图包
iphone之获取当前位置


接口代码:

#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.00.0 }, { 0.00.0 } };

theRegion.center=[[locationManager locationcoordinate];

[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;

}

你可能感兴趣的:(iPhone)