计算两个注释之间的距离:iOS 5

时间:2012-10-04 04:17:43

标签: google-maps ios5 mapkit xcode4.3 cllocation

我可以为所需的点删除两个注释(源,目标)。但是,现在我想确定它们之间的距离。我寻找解决方案,并遇到一个: Calculating distance between two points

但是解决方案:

CLLocationDistance distance = [location1 getDistanceFrom:location2];
iOS 5中已弃用

getDistanceFrom:。请有人建议我使用Google Maps API查找点之间的实际距离

在寻找选项时,我遇到了另一个解决方案:

CLLocation *locA = [[CLLocation alloc] initWithLatitude:coordinate.latitude longitude:coordinate.longitude];

        CLLocation *locB = [[CLLocation alloc] initWithLatitude:coordinate2.latitude longitude:coordinate2.longitude];

        CLLocationDistance distance = [locA distanceFromLocation:locB];
        NSLog(@"DISTANCE : %f", distance/1000);

但是,我不确定这个解决方案是否正确。它返回的距离是道路的源和目的地之间的实际距离?我尝试在谷歌地图上进行比较,它大致匹配。请验证它是否正确?

提前致谢

2 个答案:

答案 0 :(得分:3)

distanceFromLocation:怎么样?

Source

答案 1 :(得分:3)

distanceFromLocation:方法在我的代码中正常工作

  

**以米为单位的距离显示

data = pd.read_csv('coordinates.txt', sep='\t')
df=[]
L=[]
D=[]
Y=[]
for i in range(data.shape[0]):
    distanceMatrix=[]
    for k in range(data.shape[0]):
        L=float(math.sqrt((data['Easting'][i]-data['Easting'][k])**2+(data['Northing'][i]-data['Northing'][k])**2))
        distanceMatrix.append(L)
    name='A'+str(i)
    df=pd.DataFrame(data=distanceMatrix)
    df.rename(columns={0: name}, inplace=True)
    D.append(df)   
Y=pd.concat(D, axis=1)