我已經定義了一個名爲FGLocation的類,它符合MKAnnotation協議,我試圖做的是測量這兩個對象之間的距離。我注意到我可以使用方法distanceFromLocation:它被定義爲CLLocation類的方法。正如你在下面看到的,我創建了兩個臨時CLLocation對象來進行計算,但我不禁想到我可能錯過了一個更好/更簡單的方法。有沒有人對我正在做的事情有什麼意見,或者我可以怎樣做得更好?使用distanceFromLocation:on none CLLocation對象?
// IS THERE A BETTER WAY TO DO THIS?
FGLocation *root = [annotations objectAtIndex:counter-1];
FGLocation *leaf = [annotations objectAtIndex:counter];
CLLocation *rootLocation = [[CLLocation alloc] initWithLatitude:[root coordinate].latitude longitude:[root coordinate].longitude];
CLLocation *leafLocation = [[CLLocation alloc] initWithLatitude:[leaf coordinate].latitude longitude:[leaf coordinate].longitude];
CLLocationDistance thisDistance = [rootLocation distanceFromLocation:leafLocation];
[rootLocation release];
[leafLocation release];
NB:我FGLocation對象定義爲(見下文),我的文檔,我不應該繼承CLLocation注意到。
@interface FGLocation : NSObject <MKAnnotation> {
嗨,這是一個公平的觀點,在這個階段有很少的幾點,可能約爲36個。你的權利,我不需要擔心地球的曲率,因爲點都是非常地方的(在大約50公里範圍內),並且公平地說,我不會爲了超級準確而煩惱,在100米範圍內沒事的。我主要擔心的是,我正在圍繞某種方式進行計算,並缺少一些可以直接在我的FGLocation對象上調用distanceFromLocation而不創建兩個臨時CLLocation對象的pro技巧。很多apprciated。 – fuzzygoat 2011-01-25 18:58:46