我试着计算一个点到另一个点的距离。我能够找到解决这个问题的方法。
CLLocationDistance dist = [loc distanceFromLocation:loc2];但它所做的是计算直线上的距离。
我想要的是通过道路来计算距离。
例如:假设我将from address作为家庭地址,To address作为工作地址。我想要从家到工作地点之间的距离。在公路上我能跑到750米。但是如果我用distanceFromLocation方法计算,我只能得到400米。有人能帮我举个例子来计算距离吗?
发布于 2016-05-31 14:11:18
看看这个答案:
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是计算它们之间距离所需的两个注释。
https://stackoverflow.com/questions/37537828
复制相似问题