IOS网络笔记--地图内容4(定位到当前位置)

申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨

/*

    思路

 首先显示当前用户的位置,启动定位服务,设置更新 开启定位服务,用完关闭定位服务

 

 步骤

 1 导入库 导入头文件

 2 创建全局MKMapView 初始化

 3 显示用户当前位置 showsUserLocation

 4 启动定位服务  CLLocationManager

 5 设置更新频率 

 6 设置代理 CLLocationManagerDelegate

 7 开启定位服务 startUpdatingLocation

 8 代理方法  ( 定位结束,停止定位)


 */


代码如下:

#import "ViewController.h"

#define SCREEN_WIDTH self.view.frame.size.width

#define SCREEN_HEIGHT self.view.frame.size.height

@interface ViewController ()


@end



@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    // map

    mapView = [[MKMapView alloc]initWithFrame:CGRectMake(0, 20,SCREEN_WIDTH, SCREEN_WIDTH)];

    [self.view addSubview:mapView];

    

    // 显示用户当前位置

    mapView.showsUserLocation = YES;

    

    // 启动定位服务

    _manager = [[CLLocationManager alloc]init];

    /* 设置更新频率 */

    // 精确度

    _manager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;

    // 频率

    _manager.distanceFilter = 1000.0f;

    _manager.delegate = self;

    [_manager startUpdatingLocation];

    

    

}


#pragma mark - CLLocationManagerDelegate 

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

{

    NSLog(@"%@",locations);

    // 定位到的当前位置

    CLLocation *currentLocation = [locations lastObject];

    

    CLLocationCoordinate2D currentCoordinate = currentLocation.coordinate;

    MKCoordinateSpan span = mapView.region.span; // 偏移量

    MKCoordinateRegion region = { currentCoordinate,span}; // 结构体 显示的范围

    

    [mapView setRegion:region animated:YES];

    

    // 结束定位

    [manager stopUpdatingLocation];

    

}



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值