23.定位锁定方法

作者: IIronMan | 来源:发表于2016-09-27 10:14 被阅读33次

1.这只是导航栏上面的运用

在这机上会自动获取当前的城市
   //1.挂代理 CLLocationManagerDelegate
   导入#import <CoreLocation/CoreLocation.h>
   //两个属性
   NSString *Citystring;// 城市名
   @property(nonatomic,strong) CLLocationManager *locationManger;
   @property(nonatomic,strong) CLGeocoder *geocoder;

  #pragma mark 用户对地理位置的确定
  -(CLGeocoder *)geocoder
  {
        if (!_geocoder) {
           _geocoder = [[CLGeocoder alloc]init];
        }
        return _geocoder;
  }

  //1.创建定位管理者
  -(CLLocationManager *)locationManger
  {
         if (!_locationManger) {
            _locationManger = [[CLLocationManager alloc]init];
         }
        return _locationManger;
  }

#pragma mark - 定位
-(void)CityLoation
{
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"定位" style:UIBarButtonItemStylePlain target:self action:@selector(clickStatee)];
//2.挂代理
self.locationManger.delegate = self;
//3.对设备进行判断,因为安全要求高了(记得在Info.plist里面进行配置requestAlwaysAuthorization点击进去配置)

if ([[UIDevice currentDevice].systemVersion doubleValue]>=8.0) {
    
    NSLog(@"这是iOS8设备");
    [self.locationManger requestAlwaysAuthorization];
    }else
    {
          NSLog(@"不是iOS8的设备");
    }
 }

//4.状态监听
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{

if (status == kCLAuthorizationStatusNotDetermined) {
    DFTLog(@"等待授权");
}else if (status == kCLAuthorizationStatusAuthorizedAlways || status == kCLAuthorizationStatusAuthorizedWhenInUse )
{
    DFTLog(@"授权成功");
    //始终
    
    //        self.locationManger.desiredAccuracy = kCLLocationAccuracyBest;
    //        self.locationManger.distanceFilter = 10.0f;
    [self.locationManger startUpdatingLocation];
}
    else
   {
        DFTLog(@"定位失败");
   }
}

//5.调用定位信息
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations
{
    CLLocation *location = [locations lastObject];
    [self.geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
    
    for (CLPlacemark *placemark in placemarks) {
        //接收定位出来的地理位置
        Citystring = placemark.locality;
        DFTLog(@"=====%@",Citystring);
        self.navigationItem.leftBarButtonItem.title = Citystring;
      }
   }];
      [self.locationManger stopUpdatingLocation];(定位成功我们要关闭定位,减少性能的消耗)
}

3.点击上面的定位,我们可以自己获取位置

这时我们需要导入一个封装好的类 城市选择框架
#import "CityViewController.h"

点击上面的定位选择地理位置

#pragma mark - 城市选择
-(void)clickStatee
{
      CityViewController *controller = [[CityViewController alloc] init];    
      这个赋值是当前这个控制器的位置带到这个框架里面去,显示当前的位置
      controller.currentCityString = Citystring;
      //block传值(把值带出来)
      controller.selectString = ^(NSString *string){
      self.navigationItem.leftBarButtonItem.title = string;
      };
      [self presentViewController:controller animated:YES completion:nil];
}

相关文章

  • 23.定位锁定方法

    1.这只是导航栏上面的运用 3.点击上面的定位,我们可以自己获取位置 这时我们需要导入一个封装好的类 城市选择框架...

  • 死锁定位

    运行可以产生死锁的程序 在cmd中输入jdk自带的 jps -l命令(类似于linux中的ps -ef|grep ...

  • 陈亮:只需7个小步骤,帮你快速找到你的精准客户!

    客户定位 7 步法是最系统最全面的定位精准客户的方法,它能帮助你快速地界定你的利润战场,锁定最优质的客户,指导你如...

  • 《四通师语》修炼篇4

    22. 定位、定形、定神; 意动,身动,口动。 23. 从恐惧到紧张、到自然、 到觉醒、到张扬。 24...

  • 餐饮篇

    餐厅锁定目标客户的三大方法,也就是餐厅引流之前,定位你的目标客户。 在分享之前:聊聊逆袭营销思维: 不是你卖的品类...

  • 23. normalize()方法

    normalize() 方法移除空的文本节点,并连接相邻的文本节点。

  • 07--人才盘点:瞄准靶心人才(战略性岗位的梳理逻辑)

    此文是上篇文章人才盘点就是“剥洋葱”的方法论 第一层:如何锁定企业的战略性岗位呢? 逻辑就是:战略定位—业务目标—...

  • Bye Bye简书

    动不动就锁定? 干脆这个平台定位成:只能写小说和鸡汤。 Bye!

  • 20180204贾曼三条

    1.#华与华方法#说,“锁定对手”是营销思维的大忌。如果要说锁定,营销首先是锁定顾客,而非锁定对手。竞争的本质在于...

  • 定位

    定位,就是锁定目标的位置,人只有高的梦想和目标才能向上走,定位不同就会有不同的心理暗示。 定位目标,聚焦目标能激发...

网友评论

    本文标题:23.定位锁定方法

    本文链接:https://www.haomeiwen.com/subject/pyscyttx.html