Objective c 计算两个位置之间的秒(或毫秒)

Objective c 计算两个位置之间的秒(或毫秒),objective-c,math,time,location,Objective C,Math,Time,Location,目前我的功能如下: #define kKILOMETER 1000 #define kSeconds_To_Milliseconds 1000 #define kHOUR 60 #define kMINUTE 60 #define kLongDistance_3KM 3 - (long)calculateTimeToMilliSecondsWithDistance:(double)distance andSpeed:(floa

目前我的功能如下:

#define kKILOMETER                              1000
#define kSeconds_To_Milliseconds    1000
#define kHOUR 60
#define kMINUTE 60
#define kLongDistance_3KM   3

- (long)calculateTimeToMilliSecondsWithDistance:(double)distance andSpeed:(float)theSpeed
{
    // Distance arrive in meters
    double kmDistance = distance/kKILOMETER;

    long time =
    (long)(((kmDistance - kLongDistance_3KM)/[self.ref integerForKey:@"MAX_SPEED"])*kHOUR*kMINUTE*kSeconds_To_Milliseconds);

    NSLog(@"calculateTimeToMilliSeconds -> sleep to (sec): %li, maxSpeed: %li",
          time/1000, (long)[self.ref integerForKey:@"MAX_SPEED"]);

    [self startSendSleepTime:time];
    return time;
}
我的“最大速度”值是指200 km/h。 我得到的是错误的值。 我想用我的距离减去3公里,以200公里/小时的速度计算时间,但不知怎么搞砸了。 而且,在几秒钟内得到它会更好,因为我应该删除
kSeconds\u到\u毫秒,对吗

我不知道是什么把我搞砸了

编辑1:

例如:

2014-03-19 18:12:39.624 Cellular Radar[3338:60b] Distance to car: 4713, Trap Radius: 900
2014-03-19 18:12:39.673 Cellular Radar[3338:60b] calculateTimeToMilliSeconds -> sleep to (sec): 2055, maxSpeed: 3
2014-03-19 18:12:39.684 Cellular Radar[3338:60b] Sleep for (2055.000000 seconds | 34.250000 minutes | 0.570833 hours)

你能发布你期望的和你实际得到的吗?考虑到输入距离=4713,结果似乎很好。你注意到最高速度是3吗?(你在问题中说是200)你说得对,这意味着如果距离是4713-3000(1713),速度是200,那么时间将是1713/200=8.565,对吗?是的。关于单位(即秒/分钟/小时),这完全取决于您如何处理这些值。只要你保持一致,你的结果就应该是正确的