0

在我的 iPhone 应用程序中,我允许用户在地图上选择一个目的地,然后当他开始向目的地行驶时,我想给他一些信息,例如:距离他到达目的地还有多长时间以及当前与目的地的距离。我正在使用适用于 iPhone 的 CloudMade 地图 SDK,并且我知道有一种 API 方法可以获取两点之间的路径,该路径还返回它们之间的时间和距离。每次我从 CLLocationManager 获取新位置以获取更新的时间和距离时都可以调用此方法吗?我假设这种方法查询 CloudMade 服务器,所以我不知道是否经常调用它是最好的方法。

4

2 回答 2

0

对于距离

/*
 *  distanceFromLocation:
 *
 *  Discussion:
 *    Returns the lateral distance between two locations.
 */
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_3_2);

为了获得所需的时间,您可以自己计算。CLLocation 有一个速度参数。使用距离和速度来计算时间。

于 2011-09-26T08:06:03.403 回答
0

斯威夫特版本将是:

var startLocation:CLLocation!
var lastLocation: CLLocation!

let distance = startLocation.distanceFromLocation(lastLocation)
于 2015-11-01T15:24:19.017 回答