IOS获取经度纬度

本文介绍了如何使用CoreLocation框架在iOS应用中获取设备的经纬度信息,并提供了简单的实现示例。通过导入必要的头文件,初始化CLLocationManager并设置代理方法来监听位置更新。在iOS设备上运行应用,可以实时查看设备的经纬度坐标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仔细研究了一下SDK文档,再结合网上的方法,写了这一个简单的获取经纬度的方法,大家看看就好。

 

首先要导入CoreLocation.Frame 包

.h 文件

1
2
3
4
5
6
7
8
9
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
 
@interface  ViewController :  UIViewController <CLLocationManagerDelegate>
 
@property  ( nonatomic retain ) CLLocationManager* locationMgr;
@property  ( nonatomic retain ) CLGeocoder* clGeocoder; // iso 5.0及5.0以上SDK版本使
 
@end

 

.m 文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#import "ViewController.h"
 
@interface  ViewController ()
 
@end
 
@implementation  ViewController
 
- ( void )viewDidLoad
{
     [ super  viewDidLoad];
     
     self .locationMgr = [[CLLocationManager alloc] init];
 
     //设置代理
     self .locationMgr.delegate =  self ;
     
     // 设置定位精度
     // kCLLocationAccuracyNearestTenMeters:精度10米
     // kCLLocationAccuracyHundredMeters:精度100 米
     // kCLLocationAccuracyKilometer:精度1000 米
     // kCLLocationAccuracyThreeKilometers:精度3000米
     // kCLLocationAccuracyBest:设备使用电池供电时候最高的精度
     // kCLLocationAccuracyBestForNavigation:导航情况下最高精度,一般要有外接电源时才能使用
     self .locationMgr.desiredAccuracy = kCLLocationAccuracyBest;
     
     // distanceFilter是距离过滤器,为了减少对定位装置的轮询次数,位置的改变不会每次都去通知委托,而是在移动了足够的距离时才通知委托程序
     // 它的单位是米,这里设置为至少移动1000再通知委托处理更新;
     self .locationMgr.distanceFilter = 1000.0f;
     
     //开始定位
     [ self .locationMgr startUpdatingLocation];
     
}
 
 
// iso 6.0以上SDK版本使用,包括6.0。
-( void )locationManager:(CLLocationManager *)manager didUpdateLocations:( NSArray  *)locations
{
     CLLocation *cl = [locations objectAtIndex:0];
     NSLog (@ "纬度--%f" ,cl.coordinate.latitude);
     NSLog (@ "经度--%f" ,cl.coordinate.longitude);
 
}
 
 
//获取定位失败回调方法
#pragma mark - location Delegate
- ( void )locationManager:(CLLocationManager *)manager didFailWithError:( NSError  *)error
{
     NSLog (@ "Location error!" );
}
 
 
@end

 

 要用真机进行测试,输出结果如下:

转载于:https://www.cnblogs.com/lingzhihua/p/4977073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值