iOS获取到用户当前位置

 更新时间:2016年09月10日 16:24:24   投稿:lijiao  
这篇文章主要为大家详细介绍了iOS获取到用户当前位置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

通过CoreLocation定位,获取到用户当前位置,跟地图中的定位不同。

一、导入CoreLocation.framework

二、#import <CoreLocation/CoreLocation.h>

三、声明代理 <CLLocationManagerDelegate>

四、代码实现

1、声明

CLLocationManager *locationManager;//定义Manager
// 判断定位操作是否被允许
if([CLLocationManager locationServicesEnabled]) {
  CLLocationManager *locationManager = [[[CLLocationManager alloc] init] autorelease];

   self.locationManager.delegate = self;
}else {
   //提示用户无法进行定位操作
}

// 开始定位
[locationManager startUpdatingLocation];


2、更新位置后代理方法,iOS6.0一下的方法

- (void)locationManager:(CLLocationManager *)manager 
  didUpdateToLocation:(CLLocation *)newLocation 
      fromLocation:(CLLocation *)oldLocation {

 //latitude和lontitude均为NSString型变量
    //纬度
 self.latitude = [NSString stringWithFormat:@"%.4f", newLocation.coordinate.latitude];

    //经度
 self.longitude = [NSString stringWithFormat:@"%.4f",     newLocation.coordinate.longitude];
 
}


3、iOS6.0以上苹果的推荐方法

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
  //此处locations存储了持续更新的位置坐标值,取最后一个值为最新位置,如果不想让其持续更新位置,则在此方法中获取到一个值之后让locationManager stopUpdatingLocation
  CLLocation *currentLocation = [locations lastObject];
  
  CLLocationCoordinate2D coor = currentLocation.coordinate;
  self.latitude = coor.latitude;
  self.longitude = coor.longitude;
  
  //[self.locationManager stopUpdatingLocation];
  
}

4、更新失败的方法

- (void)locationManager:(CLLocationManager *)manager
    didFailWithError:(NSError *)error {
 
 if (error.code == kCLErrorDenied) {
   // 提示用户出错原因,可按住Option键点击 KCLErrorDenied的查看更多出错信息,可打印error.code值查找原因所在
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • iOS中UIAlertController设置自定义标题与内容的方法

    iOS中UIAlertController设置自定义标题与内容的方法

    UIAlertController是iOS8推出的新概念,取代了之前的 UIAlertView和UIActionSheet(虽然现在仍可以使用,但是会有警告)。下面这篇文章主要给大家介绍了关于iOS中UIAlertController如何设置自定义标题与内容的相关资料,需要的朋友可以参考下。
    2017-10-10
  • iOS动态验证码实现代码

    iOS动态验证码实现代码

    本文通过实例代码给大家介绍了ios动态验证码的实现方法,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-04-04
  • iOS利用余弦函数实现卡片浏览工具

    iOS利用余弦函数实现卡片浏览工具

    这篇文章主要为大家详细介绍了iOS利用余弦函数实现卡片浏览工具,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • iOS中设置网络超时时间+模拟的方法详解

    iOS中设置网络超时时间+模拟的方法详解

    这篇文章主要介绍了在iOS中设置网络超时时间+模拟的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来跟着小编一起来学习学习吧。
    2017-04-04
  • iOS9新特性之UIStackView

    iOS9新特性之UIStackView

    UIStackView主要包括了四大属性:axis、alignment、distribution、spacing。下面通过本文给大家介绍iOS9新特性之UIStackView的相关知识,感兴趣的朋友一起看看吧
    2017-09-09
  • iOS小数取整的方法(ceil floor round)示例

    iOS小数取整的方法(ceil floor round)示例

    这篇文章主要为大家介绍了iOS小数取整的方法(ceil floor round)示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • iOS中字符串换行的实现方法

    iOS中字符串换行的实现方法

    大家应该都有所体会,单行字符数过多会影响美观,所以下面这篇文章主要给大家介绍了关于iOS中字符串换行的实现方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2018-07-07
  • 深入讲解iOS开发中应用数据的存储方式

    深入讲解iOS开发中应用数据的存储方式

    这篇文章主要介绍了iOS开发中应用数据的存储方式,包括plistXML属性列表和NSKeydeArchiver归档两个部分,需要的朋友可以参考下
    2015-12-12
  • IOS数字键盘左下角添加完成按钮的实现方法

    IOS数字键盘左下角添加完成按钮的实现方法

    这篇文章主要介绍了IOS数字键盘左下角添加完成按钮的实现方法的相关资料,希望通过本文能实现类似这样的功能,需要的朋友可以参考下
    2017-08-08
  • 详解优化iOS程序性能的25个方法

    详解优化iOS程序性能的25个方法

    本篇文章主要介绍了优化iOS程序性能的25个方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12

最新评论