iOS 简单获取当前地理坐标

iOS 获取当前地理坐标

       iOS获取当前地理坐标,很简单几句代码,但是如果刚开始不懂,做起来也会也会出现一些问题。

1、导入定位需要用到的库:CoreLocation.framwork 。如果要显示地图,就要导入 MapKit.framwork 。

2、在info.plist里加入两行

NSLocationWhenInUseUsageDescription  当应用需要时候定位

NSLocationAlwaysUsageDescription   始终使用地位(这行如果不加,那么启动的时候就不会弹出允许使用定位提示框,只能手动设置允许)。

3、导入类库  #import <CoreLocation/CoreLocation.h>, 添加代理 CLLocationManagerDelegate 。基本设置好了就可以直接代码实现了。

4、定义一个对象,做一些设置。

self.locationManager = [[CLLocationManager alloc] init];
    // 设置定位精度,十米,百米,最好
    self.locationManager.desiredAccuracy=kCLLocationAccuracyBest;
    //每隔多少米定位一次(这里的设置为任何的移动)
    self.locationManager.distanceFilter = kCLDistanceFilterNone;
    self.locationManager.delegate = self; //代理设置

    // 开始时时定位
    if ([CLLocationManager locationServicesEnabled])
    {
        // 开启位置更新需要与服务器进行轮询所以会比较耗电,在不需要时用stopUpdatingLocation方法关闭;
        [self.locationManager startUpdatingLocation];
    }else
    {
        NSLog(@"请开启定位功能");
    }

5、代理方法实现

//开启定位后会先调用此方法,判断有没有权限
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
    if ([CLLocationManager authorizationStatus]==kCLAuthorizationStatusNotDetermined)
    {
        //没有权限,调用方法开启权限
        [self.locationManager requestAlwaysAuthorization];

    }else if([CLLocationManager authorizationStatus]==kCLAuthorizationStatusAuthorizedWhenInUse)
    {
        [self.locationManager startUpdatingLocation];
    }
}

6、获取定位坐标

//成功获取到经纬度
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    // 获取经纬度
    NSLog(@"纬度:%f",newLocation.coordinate.latitude);
    NSLog(@"经度:%f",newLocation.coordinate.longitude);
    // 停止位置更新
    [manager stopUpdatingLocation];
}

// 定位失败错误信息
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
    NSLog(@"error");
}

 完成:

这就是一个简单的地理坐标获取,如果要使用更多功能、路线、距离、大头针、地理编码换算等可以下载使用高德或百度的SDK,里面都头很详细的说明,和简单的方法调用!

时间: 2024-10-15 11:11:53

iOS 简单获取当前地理坐标的相关文章

IOS简单获取View截图图像(Quartz2D)

1. 先指定图像的大小 UIGraphicsBeginImageContext(view.frame.size); 2. 在指定的区域绘制图像 [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO]; 3. 获取图像上下文 UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 4. 关闭图像上下文 UIGraphicsEndImageContext();

IOS中获取各个文件的目录路径的方法和NSFileManager类

转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有

IOS中获取各种文件的目录路径的方法

iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,

iOS开发- 获取精确剩余电量

[UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice currentDevice].batteryLevel; 获取当前剩余电量, 我们通常采用上述方法.这也是苹果官方文档提供的. 它返回的是0.00-1.00之间的浮点值.  另外, -1.00表示模拟器. 貌似这个方法不错, 也很简单. 但是仔细观察它的返回值, 我们可以发现. 它是以0.05递变的. 折算成100% 也就

iOS开发 - 获取真机沙盒数据

今天要获取之前真机测试时写入沙盒的数据, 本来以为挺麻烦的. 后来捣腾了一下, 才知道原来这么简单... 下面直接看具体步骤. 前提: 真机已经通过USB和你的电脑连接上了! 1.进入Organizer 2.选择你的应用. 并导出数据.(点击Download) 3.保存数据到相应位置.(点击Save) 4.打开, 查看数据. 保存完毕后, 你后发现一个这样的文件. 选中它, 右键---->显示包内容. 然后进入------->AppData ------>Documents. 即可看到你

iOS 蓝牙获取MAC地址

援引:http://www.jianshu.com/p/1d6a8fc8134f iOS要获取蓝牙设备的MAC地址有两种:一是硬件工程师开通的服务特征下有MAC的信息,我们就从通道中获取:二是硬件工程师在扫描中设备信息中放置MAC信息,我们从有RSSI的函数中获取 1.形如你所在其他网站上看到的在某写板子模块上的服务如:"A180"的,其下均有获取到MAC的特征.此处我们略过,因为其他地方说的很清楚了,援引处也有.需要硬件配和加入服务特征. 2.就是在有RSSI的函数中获取. 首先先让

iOS简单易用的标签列表界面

iOS简单易用的标签列表界面 Demo效果: Demo演示: 1.使用cocoapods引入YZTagListView,或者直接拖入YZTagListView文件夹到项目中 2.导入YZTagListView.h头文件 1 #import "YZTagList.h" 3.创建YZTagListView控件 1 2 3   YZTagList *tagList = [[YZTagList alloc] init];   tagList.backgroundColor = [UIColor

在iOS中获取UIView的所有层级结构 相关

在iOS中获取UIView的所有层级结构 应用场景 在实际 iOS 开发中,很多时候都需要知道某个 UI 控件中包含哪些子控件,并且分清楚它们的层级结构和自个的 frame 以及 bounds ,以便我们完成复杂的 UI 布局,下面的代码就能很方便的获取某个 UI 控件的所有的层级结构,我们可以用它计算,然后把结果写入到本地磁盘,导出成XML文件,这样我们就可以很直观的看出它内部的细节. /** * 返回传入veiw的所有层级结构 * * @param view 需要获取层级结构的view *

IOS简单的登陆界面

主要需要注意的几个问题: 1.导入图片方式最好用文件导入 代码: 在ViewController.m文件中 2.UILable常用属性 @property(nonatomic,copy)   NSString           *text; //设置文本内容 @property(nonatomic,retain) UIFont             *font; //设置字体 @property(nonatomic,retain) UIColor            *textColor;