定位- 汽车导航

#import "ViewController.h"

#import <CoreLocation/CoreLocation.h>

@interface ViewController ()<CLLocationManagerDelegate>

/**  1. 定位管理者对象 ***/

@property (nonatomic, strong) CLLocationManager *mgr;

/**  上一次的位置 ***/

@property (nonatomic, strong) CLLocation *previousLocation;

/**  总路程 ***/

@property (nonatomic, assign) CLLocationDistance sumDistance;

/**  总时间 ***/

@property (nonatomic, assign) NSTimeInterval sumTime;

@end

@implementation ViewController

- (CLLocationManager *)mgr{

if (!_mgr) {

_mgr = [[CLLocationManager alloc] init];

}

return _mgr;

}

- (void)viewDidLoad {

[super viewDidLoad];

// 2. 设置代理

self.mgr.delegate = self;

// plist

//    NSLocationAlwaysUsageDescription

//    NSLocationWhenInUseUsageDescription

// 3. 开始监听

// 判断授权

if(IOS8){

[self.mgr requestAlwaysAuthorization];

}else{

[self.mgr startUpdatingLocation];

}

}

#pragma mark - 当授权状态改变时, 调用此方法

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status

{

if (status == kCLAuthorizationStatusNotDetermined) {

LogYellow(@"正在授权中");

}else if ((status == kCLAuthorizationStatusAuthorizedAlways) || (status == kCLAuthorizationStatusAuthorizedWhenInUse)){

LogYellow(@"授权成功");

// 开始监听

[self.mgr startUpdatingLocation];

}else{

LogYellow(@"授权失败");

}

}

#pragma mark - CLLocationManagerDelegate

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

{

// 导航

/**

获取走了多远

获取走这段路花了多少时间

获取速度

获取总共多少路程

获取平均速度

*/

// 获取当前位置

CLLocation *newLocation = [locations lastObject];

if(self.previousLocation != nil){

// 计算两次距离

CLLocationDistance distance = [newLocation distanceFromLocation:self.previousLocation];

// 计算两次时间

NSTimeInterval dTime = [newLocation.timestamp timeIntervalSinceDate:self.previousLocation.timestamp];

// 计算速度

CGFloat speed = distance / dTime;

LogRed(@"  %f,   %f,   %f",distance, dTime, speed);

// 累计时间

self.sumTime += dTime;

// 累计路程

self.sumDistance += distance;

// 计算平均速度

CGFloat avgSpeed = self.sumDistance / self.sumTime;

LogGreen(@"总路程  %f,总时间   %f,平均速度   %f",self.sumDistance, self.sumTime, avgSpeed);

}

// 记录上一次的位置

self.previousLocation = newLocation;

// 当前获取到 信息的时间

//    location.timestamp

// 停止监听

//    [self.mgr stopUpdatingLocation];

}

@end

时间: 2024-10-07 08:47:37

定位- 汽车导航的相关文章

传感器系列之4.12GPS定位传感器

4.12 GPS定位实验 一.实验目的 了解GPS的基本概念 了解NMEA-0183格式数据串的组成和关于GPS的常用语句 GPS的数据串解析 二.实验材料 具有串口通讯的电脑一台 ADS1.2开发环境 J-Link-ARM仿真器一个 NXP LPC2378实验节点板1个 GPS模块一个 LCD显示实验板1个 三.实验原理 GPS定位实验环境由PC机(安装有Windows XP操作系统.ADS1.2集成开发环境和J-Link-ARM-V410i仿真器).J-Link-ARM仿真器.NXP LPC

iOS开发 - CoreLocation地理定位

简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院 在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 Map Kit :用于地图展示 Core Location :用于地理定位 2个热门专业术语 LBS :Location Based Service SoLoMo :Social Local Mobile(索罗门) CoreLocation框架的使用 CoreLocat

MaxCompute助力北斗大数据,千寻位置3秒实现厘米级定位

摘要: 无人机.无人车--随着智能无人技术的兴起,背后的核心技术越加受到业界的关注.近日,全球最大地基增强系统运营商千寻位置成功研发出全球首个支持A-北斗的辅助定位平台FindNow, 大大缩短定位时间;结合使用阿里云大计算力量的千寻云踪-位置数据接入服务,为全国智能产业提供厘米级乃至毫米级高精度位置定位,快速+精准定位,为汽车导航.精准农业.防灾减灾等行业正迎来新的机遇. 原文地址:http://click.aliyun.com/m/43994/ 无人机.无人车--随着智能无人技术的兴起,背后

微信实现定位城市并获取城市编码

最近在做一个项目是将用户的当前所在市县定位出来并展示在手机端页面,同时还要获取到该市县的城市编码从而进行数据过滤,这里重点讲定位城市及获取城市编码 前端页面代码: 首先引用腾讯地图的一个js <script type="text/javascript" src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js" ></script> 同时在页面加载

div与 css--绝对定位和相对定位

<10-页面美化专题-div和css基础.avi> Border-topPadding-topMargin-topFloat Position #clear{Both:clear;}//浮动 float为了不影响后面的 语句#son2{position:relative; //没有脱离文档流left:60%;} position :absolute;left:0px;绝对定位 就脱离了文档 子的绝对定位:要看爸爸是否有相对定位:如果有就相对爸爸的边框,如果没有就相对浏览器的定位了:

copyright底部栏定位css样式(min-height)

关于底部版权栏定位的一点点小技巧,让其一直处于页面的最底部. html代码: css代码: reset代码,清除浏览器留下的margin和padding: 设置html,body的高度100%: 通过top的min-height和底部栏的height和margin-top来完成布局:

“黑五”的本土化难题,如何定位、立足?

黑五,或者黑色星期五,对大部分中国人来说都会觉得很陌生,但这个在欧美如同双十一的购物节日已经开始被一部分中国消费者所接受并且积极的进行消费购物.虽然在国内黑五还无法与双十一相提并论,但随着跨境电商的兴起,黑五的本土化氛围正越来越浓. "黑五"关注度持续升温 从特定人群向多元化.年轻化转变 从市场层面的变化来看,这两年跨境电商的持续发展为黑五提供了基本的市场促销环境,虽然国内的黑五发展程度尚不足以与双十一相提并论,但对跨境电商企业而言,这几年已经逐渐向市场传达到了"黑五&quo

Android附近基站+Wifi+IP+GPS多渠道定位方案

前言: 在移动客户端的开发中,地理位置定位是一个非常重要的环节,有些时候用户可能会限制web app或者Android app的一些权限,或者由于信号不佳的原因无法获得准确的GPS位置,甚至为了省电,用户可能对开启GPS开关可能会有抵触情绪.但是不能因为GPS的种种限制就放弃了对用户位置的追踪.要通过一切能发送出信号的物体尽可能准确的获取到用户的位置,有时可以牺牲一些精度,对于大数据和用户地区分布分析来说,有一个大体的位置已经够分析人员使用,而且绕开GPS的重重壁垒,为数据的完整性提供可靠方案

学习总结HTML5- 03 地理定位

百度地图-开发者中心http://developer.baidu.com/map/index.html 百度地图-坐标拾取http://api.map.baidu.com/lbsapi/getpoint/index.html 百度地图-覆盖物http://developer.baidu.com/map/jsdemo.htm 百度地图-GPShttp://developer.baidu.com/map/jsdemo.htm#c2_5 百度地图- IP 定位http://developer.baid