目前,地图和定位功能被大量使用于应用开发中,在实际使用中定位这一功能可以服务于我们,使我们的生活更加便捷,多彩,例如,你到了一个地方,想找一找周边的美食或者酒店其他的,打开相应的软件,软件就会自动定位并帮我们查找周边。
那么这一功能是如何实现的呢,今天就让我们来了解一下在开发过程中如何使用地图和定位。
地图视图依赖于MapKit这一类,而定位则依赖于CoreLocation这一类,所以我们使用地图和定位时需要先添加这两个类
首先我们先声明一个私有地图变量
//声明一个地图视图
@property(nonatomic,strong)MKMapView *mapView;
然后初始化这个地图并添加到视图
//1 创建地图
self.mapView = [[MKMapView alloc]initWithFrame:[UIScreen mainScreen].bounds];
//把地图添加进控制器
[self.view addSubview:_mapView];
我们还可以根据地图的属性进行不同的设置
例如我们可以通过MKMapType来设置地图类型,xcode为我们提供了三种地图模式可选
MKMapTypeStandard | 标准式的行政地图(会显示城市,街道等) |
MKMapTypeSatellite | 标准的卫星地图 |
MKMapTypeHybrid | 混合地图(在卫星图上显示街道等名称) |
//地图类型
_mapView.mapType = MKMapTypeStandard;
这样一张简单的世界地图就显示出来了
如果我们需要使用定位功能在创建地图之后,需要开启定位功能
//开启定位
//创建定位管理对象
CLLocationManager *locationManager = [[CLLocationManager alloc]init];
//判断当前定位是否可用
if (![CLLocationManager locationServicesEnabled]) {
return;
}
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined ) {
[locationManager requestWhenInUseAuthorization];
}else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse){
//设置定位精度
locationManager .desiredAccuracy = kCLLocationAccuracyBest;
//设置没移动多少米获取一次位置
locationManager.distanceFilter = 100;
//开启定位
[locationManager startUpdatingLocation];
}
如果开发需要我们也可以根据情况关闭定位
- (void) stopUpdatingLocation;
当然这只是关于xcode原生地图和定位的简单使用, 但是在我们开发中往往会使用一些第三方地图服务,例如百度地图、高德地图等等,并且这些第三方为我们提供了较为详细的使用说明,如果有需要的朋友可以参考以下链接:
高德地图开发平台:http://lbs.amap.com
百度地图开放平台:http://lbsyun.baidu.com/index.php?title=iossdk
网友评论