我试图计算从一个点到另一个点的距离。我能找到方法。
CLLocationDistance dist = [loc distanceFromLocation:loc2];
但它做的是直线计算距离。
我想要的是通过公路计算距离。
例如:让我们说如果我从地址作为家庭和作为工作地址。我希望通过公路到达工作之间的距离。通过公路我得750米。但是,如果我通过distanceFromLocation方法计算,我只得到400米。 有人可以用一个例子来帮助我计算距离。
答案 0 :(得分:0)
看看这个答案:
CLLocationCoordinate2D pointACoordinate = [pointAAnnotation coordinate];
CLLocation *pointALocation = [[CLLocation alloc] initWithLatitude:pointACoordinate.latitude longitude:pointACoordinate.longitude];
CLLocationCoordinate2D pointBCoordinate = [pointBAnnotation coordinate];
CLLocation *pointBLocation = [[CLLocation alloc] initWithLatitude:pointBCoordinate.latitude longitude:pointBCoordinate.longitude];
float distanceMeters = [pointALocation distanceFromLocation:pointBLocation];
float distanceMiles = (distanceMeters / 1609.344);
这里是pointAAnnotation& pointBAnnotation是计算它们之间距离所需的两个注释。