iOS 地图地图程序员

iOS开发之地图

2016-02-23  本文已影响268人  呼噜ZR

目前,地图和定位功能被大量使用于应用开发中,在实际使用中定位这一功能可以服务于我们,使我们的生活更加便捷,多彩,例如,你到了一个地方,想找一找周边的美食或者酒店其他的,打开相应的软件,软件就会自动定位并帮我们查找周边。
那么这一功能是如何实现的呢,今天就让我们来了解一下在开发过程中如何使用地图和定位。
地图视图依赖于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

上一篇下一篇

猜你喜欢

热点阅读