Iphone 在设计计步器应用程序时,如何确定用户行驶的距离?

Iphone 在设计计步器应用程序时,如何确定用户行驶的距离?,iphone,cocoa-touch,Iphone,Cocoa Touch,我正在为iPhone设计计步器应用程序。考虑到用户所走的步数,我如何确定他们所走的距离(以英里为单位)?要计算速度,还需要知道用户行走的总时间 如果用户已走了M英里,总共走了T分钟,则平均速度为(M*60)/Tmph。如果用户在同一时间总共走了S步,那么他平均每秒走的步数为S/(T*60)。如果您知道英里数,请将其除以小时。瞧,英里每小时。每秒,再除以3600,你将得到每秒英里数。如果谷歌是对的,1英里=5280英尺,那么将最后一个结果乘以英尺,你将得到每秒英尺数 // assuming mil

我正在为iPhone设计计步器应用程序。考虑到用户所走的步数,我如何确定他们所走的距离(以英里为单位)?

要计算速度,还需要知道用户行走的总时间


如果用户已走了M英里,总共走了T分钟,则平均速度为
(M*60)/T
mph。如果用户在同一时间总共走了S步,那么他平均每秒走的步数为
S/(T*60)

如果您知道英里数,请将其除以小时。瞧,英里每小时。每秒,再除以3600,你将得到每秒英里数。如果谷歌是对的,1英里=5280英尺,那么将最后一个结果乘以英尺,你将得到每秒英尺数

// assuming miles and hours is known
mph = miles / hours;
fps = mph / 3600 * 5280;

如果您使用的是
CLLocation
类,则

尝试执行
CLLocationSpeed
,它将以米/秒为单位显示设备的移动速度


用户应该让朋友拍下他们(用手机)跨过一把12英寸的尺子的照片。最好是摄影师的相机与尺子平行。让他们点击尺子的两个脚趾和两端,然后计算步幅(est)。如果你知道步数…

你有经过时间的值吗?旁注:我听说苹果计划在iOS5中增加
NSPedometer
类,它将为你计算。当然,我们都知道,在新的革命性iPhone 4视网膜显示屏上,每英里的英尺数是原来的四倍(
21120
vs.Android的微不足道的
5280
)好吧,除非他在一段时间内平均测量值,否则这是行不通的。根据文档,“因为在后续位置事件的交付之间,实际速度可能会发生多次变化,所以您应该仅将此属性用于信息目的。”
CLLocation *locationObject;

double calculateSpeedMPS=locationObject.speed;

// 1 meter per second = 2.23693629 miles per hour

double calculateSpeedMPH=calculateSpeedMPS*2.23693629;