IOS中CoreLocation框架地理定位

1.CoreLocation框架使用前提:

#import <CoreLocation/CoreLocation.h>

CoreLocation框架中所有数据类型的前缀都是CL ,CoreLocation中使用CLLocationManager对象来做用户定位

2.CLLocationManager的常用操作:

开始用户定位 - (void)startUpdatingLocation;

停止用户定位 - (void) stopUpdatingLocation;

当调用了startUpdatingLocation方法后,就开始不断地定位用户的位置,中途会频繁地调用代理的下面方法

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

locations参数里面装着CLLocation对象

3.

CLLocation用来表示某个位置的地理信息,比如经纬度、海拔等等

@property(readonly, nonatomic) CLLocationCoordinate2D coordinate; 经纬度

@property(readonly, nonatomic) CLLocationDistance altitude; 海拔

@property(readonly, nonatomic) CLLocationDirection course; 路线,航向(取值范围是0.0° ~ 359.9°,0.0°代表真北方向)

@property(readonly, nonatomic) CLLocationSpeed speed; 行走速度(单位是m/s)

用- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location方法可以计算2个位置之间的距离

@property(assign, nonatomic) CLLocationDistance distanceFilter; 每隔多少米定位一次

@property(assign, nonatomic) CLLocationAccuracy desiredAccuracy; 定位精确度(越精确就越耗电)

CLLocationCoordinate2D是一个用来表示经纬度的结构体,定义如下

typedef struct { CLLocationDegrees latitude; // 纬度 CLLocationDegrees longitude; // 经度 } CLLocationCoordinate2D;

一般用CLLocationCoordinate2DMake函数来创建CLLocationCoordinate2D

4.

如果是模拟器,需要设置模拟位置(经纬度) 天朝帝都的经纬度是:北纬40°,东经116°

5.

使用CLGeocoder可以完成“地理编码”和“反地理编码” 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)

反地理编码:根据给定的经纬度,获得具体的位置信息 地理编码方法

- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;

反地理编码方法

- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;

当地理\反地理编码完成时,就会调用CLGeocodeCompletionHandler typedef void (^CLGeocodeCompletionHandler)(NSArray *placemarks, NSError *error);

这个block传递2个参数 error :当编码出错时(比如编码不出具体的信息)有值 placemarks :里面装着CLPlacemark对象

CLPlacemark的字面意思是地标,封装详细的地址位置信息

@property (nonatomic, readonly) CLLocation *location; 地理位置

@property (nonatomic, readonly) CLRegion *region; 区域

@property (nonatomic, readonly) NSDictionary *addressDictionary;详细的地址信息

@property (nonatomic, readonly) NSString *name; 地址名称

@property (nonatomic, readonly) NSString *locality; 城市

时间: 2024-10-13 17:04:42

IOS中CoreLocation框架地理定位的相关文章

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation{ BMKCoordinateRegion region; region.center.latitude  = userLocation.location.coordinate.latitude; region.center.longitude = userLoca

iOS开发——高级篇——地理定位 CoreLocation

一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用中,都用到了定位和地图功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发CoreLocation :用于地理定位,地理编码,区域监听等(着重功能实现)MapKit :用于地图展示,例如大头针,路线.覆盖层展示等(着重界面展示) 2个热门专业术语LBS :Location Based

iOS中 HeathKit框架学习 步数统计等 韩俊强的博客

每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206 HeathKit框架学习 本文结构 简介 用户数据安全及隐私 HeathKit框架 HeathKit使用 总结 简介 HeathKit是Apple公司在推出iOS 8 系统时一块推出的关于健康信息的框架.如果iPhone手机系统升级到iOS8之后就会发现多了一个健康-app,这就是Apple提供的一个记录用户健康信息的app,可以用它来分享健康和健身数据.还可以指定数

IOS中MapKit框架使用地图的显示

1.导入主头文件 #import <MapKit/MapKit.h> MapKit框架使用须知 MapKit框架中所有数据类型的前缀都是MK MapKit有一个比较重要的UI控件 :MKMapView,专门用于地图显示 2. 设置MKMapView的userTrackingMode属性可以跟踪显示用户的当前位置 MKUserTrackingModeNone :不跟踪用户的位置 MKUserTrackingModeFollow :跟踪并在地图上显示用户的当前位置 MKUserTrackingMo

猫猫学iOS 之CoreLocation反地理编码小Demo输入经纬度得到城市

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:效果 输入经纬度,能够得到相应的地名 二:思路 跟地里编码差点儿相同 1.获取用户输入的经纬度 2.依据用户输入的经纬度创建CLLocation对象 3.依据CLLocation对象获取相应的地标信息 三:代码 #import "ViewController.h" #import <CoreLocation/CoreLocation.h>

iOS中WebKit框架应用与解析

https://www.cnblogs.com/fengmin/p/5737355.html WebKit是iOS8之后引入的专门负责处理网页视图的框架,其比UIWebView更加强大,性能也更优. 引言 在iOS8之前,在应用中嵌入网页通常需要使用UIWebView这样一个类,这个类通过URL或者HTML文件来加载网页视图,功能十分有限,只能作为辅助嵌入原生应用程序中.虽然UIWebView也可以做原生与JavaScript交互的相关处理,然而也有很大的局限性,JavaScript要调用原生方

iOS中开源框架GPUImage的使用之生成libGPUImage.a文件和创建工程(一)

一.下载GPUImage (1)下载地址:https://github.com/BradLarson/GPUImage (2)下载后打开 GPUImage.xcodeproj  工程,选择真机运行该工程(生成用于真机的lib文件) (3)点击Products下的 libGPUImage.a右键选择Show in Finder. (4)将 GPUImage.h文件中包含的头文件全部加入到include中.类似下图方法,文件夹名称可自定. (5)将 GPUImage.h文件中包含的头文件全部加入到i

OC中Foundation框架

框架的概念 1 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的组合,以便使研发程序变的更容易在OS X下地Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架 1 Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期和时间.内存管理.处理文件系统.存储(或归档)对象.处理几何数据结果(如点和长方形) 2 Cocoa是Foundation和AppKit 3 Cocoa Touch是Fo

iOS定位--CoreLocation框架

CoreLocation框架的使用 // 首先导入头文件 #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是CL CoreLocation中使用CLLocationManager对象来做用户定位 1.CLLocationManager的使用 CLLocationManager的常用操作 /** * 定位管理者,全局变量强引用,防止销毁 */ @property (nonatomic ,strong) CLLocati