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