CoreLocation框架的使用---定位,求两地距离
前言:
在iOS开发中,有关导航,周边的开发,必须基于2个框架:
用户隐私的保护
CoreLocation框架的使用
1.导入框架CoreLocation.framework
2.导入主头文件
#import <CoreLocation/CoreLocation.h>
3.在info.plist文件中设置提示用户定位信息,NSLocationAlwaysUsageDescription
4.代码: 功能定位当前经纬度. 一直两地经纬度,求距离
#import "ViewController.h"
#import <CoreLocation/CoreLocation.h> @interface ViewController ()<CLLocationManagerDelegate>//遵守代理
@property (nonatomic, strong) CLLocationManager *manager; @end @implementation ViewController
- (CLLocationManager *)manager
{
if (!_manager) {
//1.创建一个定位管理器
_manager = [[CLLocationManager alloc]init];
} return _manager;
} - (void)viewDidLoad {
[super viewDidLoad]; //2.获取用户的授权
[self.manager requestAlwaysAuthorization]; //3.开始定位
[self.manager startUpdatingLocation]; //4.设置代理
self.manager.delegate = self; //5.求两地距离.
CLLocation *loc1 = [[CLLocation alloc]initWithLatitude: longitude:];
CLLocation *loc2 = [[CLLocation alloc]initWithLatitude: longitude:]; CLLocationDistance dis = [loc1 distanceFromLocation:loc2];
NSLog(@"两地距离是%f米",dis); } //代理方法:会一直调用此方法.
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
//6.获取用户当前的位置
CLLocation *location = [locations firstObject]; /*经纬度 CLLocationCoordinate2D是一个经纬度的结构体.
coordinate.longitude 经度
coordinate.latitude 纬度
*/ CLLocationCoordinate2D coordinate = location.coordinate; NSLog(@"纬度:%f ----经度 %f",coordinate.latitude,coordinate.longitude); }
CLLocationManager
- (void) stopUpdatingLocation;//停止用户定位
//导航专用的精确度
extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0);
extern const CLLocationAccuracy kCLLocationAccuracyBest;
extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters;
extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters;
extern const CLLocationAccuracy kCLLocationAccuracyKilometer;
extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers;
*/
//定位精确度
self.manager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
CLLocation
CLLocationCoordinate2D
typedef struct {
CLLocationDegrees latitude; // 纬度
CLLocationDegrees longitude; // 经度
} CLLocationCoordinate2D;
CoreLocation框架的使用---定位,求两地距离的更多相关文章
- mysql根据经纬度求两地距离
#1.两点距离(1.4142135623730951) ,),point(,)); select st_distance(point (120.10591, 30.30163),point(120.1 ...
- iOS定位--CoreLocation框架
CoreLocation框架的使用 // 首先导入头文件 #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是C ...
- 地图定位CoreLocation框架,地理位置编码与反编码
在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 ...
- 【iOS】7.4 定位服务->2.1.3.1 定位 - 官方框架CoreLocation 功能1:地理定位
本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. 本文相关目录: ================== 所属文集:[iOS]07 设备工具 === ...
- IOS CoreLocation框架的使用(用于地理定位)
● 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 ● 导航:去任意陌生的地方 ● 周边:找餐馆.找酒店.找银行.找电影院 ● 在上述应用中,都用到了地图和定位功能,在iOS开发中 ...
- MapKit/CoreLocation框架 总结
MapKit/CoreLocation框架 /*英译 core:核心 track:踪迹 current:当前 statellite:卫星 hybird:混合 region:范围 annotation ...
- CoreLocation框架的使用
CoreLocation框架使用 一.地图和定位的简介 1.应用场景 周边:找餐馆/找KTV/找电影院(团购APP) 导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达(地图APP) 2 ...
- CoreLocation 框架
获取设备的地理位置和方向 一.概述 CoreLocation框架,它提供了如下几种服务 确定设备的地理位置 高度 方向 或到附近 iBeacon 的相对位置. 这个框架使用所有可用的车载硬件.如 Wi ...
- POJ1741--Tree (树的点分治) 求树上距离小于等于k的点对数
Tree Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12276 Accepted: 3886 Description ...
随机推荐
- IOS跳转设置页面及其他各种跳转页面设置
转载来源 CocoaChina 跳到更多设置界面 除了跳到WiFi设置界面,能不能跳到其他的设置界面呢?比如:定位服务.FaceTime.音乐等等.都是可以的,一起来看看如何实现的! 定位服务 定位服 ...
- silverlight简单数据绑定2
<Grid x:Name="LayoutRoot" Background="white" Loaded="LayoutRoot_Loaded&q ...
- mysql存储emoji表情
微信获取的用户昵称nickname中带有emoji表情,转换成字符码后是这种形式“\xF0\x9F\x91\x8D\xE6\x94...”, 直接保存可能出现以下错误 Caused by: java. ...
- linux中软链接打包、计算以及同步
目录test中存在软连接: 1.打包,参数h(将实际文件进行打包): tar zcvfPh test.tar.gz test 2.计算大小,参数L(计算的是实际文件的大小): du -sL te ...
- javascript立即执行函数 (function(){})()
看到一段代码: (function(){ var outer = $('#subject'); outer.find('li').on('mouseover', mouseover); })() ( ...
- 开源文档管理工具Joomla的网站安装
1.配置PHP开发环境(Apache.PHP.MySQL) 2.安装Joomla网站: 1. 下载安装包 http://www.joomla.org/download.html 2. 登陆Jo ...
- ThreadPool原理介绍
public class ThreadPoolExecutorextends AbstractExecutorService 一个 ExecutorService,它使用可能的几个池线程之一执行每个提 ...
- 使用网易ubuntu镜像加速软件包安装
用vi工具编辑文件 sudo vi /etc/apt/sources.list 以trusty(14.04)为例,插入下面内容到文件的最前面: deb http://mirrors.163.com/u ...
- Bash Shell实用快捷键
Ctrl-D 相当于Del键,即删除光标所在处的字符 Ctrl-E 相当于End键,即将光标移动到本行末尾 Ctrl-K 用于删除从光标处开始到结尾处的所有字符 Ctrl-L 清屏,相当于clear命 ...
- Oracle 取随机数(转)
1.从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 ...