iOS定位 (一) 地图定位

带地图的定位方法
#import <CoreLocation/CoreLocation.h>
#import <MapKit/MapKit.h>
<MKMapViewDelegate>
//1.使用定位服务
//设置app有访问定位服务的权限
//在使用应用期间 / 始终(app在后台)
//info.plist文件添加以下两条(或者其中一条): 这句话非常重要,关系到你能不能定位
//NSLocationWhenInUseUsageDescription 在使用应用期间
//NSLocationAlwaysUsageDescription 始终
//2.LocationManager 对象管理相关的定位服务
_manager = [[CLLocationManager alloc] init];
//manager判断: 手机是否开启定位 / app是否有访问定位的权限
//[CLLocationManager locationServicesEnabled]; //手机是否开启定位
//[CLLocationManager authorizationStatus]; //app访问定位的权限的状态
if (![CLLocationManager locationServicesEnabled] || [CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorizedWhenInUse) {
[_manager requestWhenInUseAuthorization]; //向用户请求访问定位服务的权限
}
//3.地图
[self createMapView]; - (void)createMapView
{
//创建MapView
_mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
//地图的类型
_mapView.mapType = MKMapTypeStandard;
//显示用户当前的位置
//_mapView.userLocation
//是否定位(是否追踪用户的位置)
_mapView.userTrackingMode = MKUserTrackingModeFollow;
_mapView.delegate = self;
[self.view addSubview:_mapView];
} //更新用户的位置
- (void)mapView:(MKMapView*)mapView didUpdateUserLocation:(MKUserLocation*)userLocation
{
NSLog(@"location : %@", userLocation.location);
//根据经纬度设置MapView
//设置显示的区域范围, 设置显示的精度
//设置显示的精度(比例尺)
MKCoordinateSpan span = MKCoordinateSpanMake(0.01, 0.01);
//指定的范围
MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.location.coordinate, span);
//移动mapView显示的位置
[_mapView setRegion:region animated:YES];
}
上一篇:Oracle基础—表分区


下一篇:ubuntu15.04 nginx1.6.5 配置虚拟主机