2010-05-06 53 views
2

現在我有兩個位置的座標,讓說 locationA緯度40和經度-80, locationB緯度30和經度-70,iPhone開發 - 顯示在地圖上的兩個位置

我想創建一個mapView,我可以看到具有適當觀看距離的兩個位置。

我得到了新的通過查找中點座標(在這個例子中,{35} -75), 但問題是,

我怎樣才能得到一個合適的觀看距離? 特別是,如何計算CLLocationDistance(如果我使用MKCoordinateRegionMakeWithDistance)或MKCoordinateSpan(如果我正在使用MKCoordinateSpanMake)。

在此先感謝。

回答

10

這是我已經想通了:

CLLocation *pointALocation = [[CLLocation alloc] initWithLatitude:middlePoint.latitude longitude:middlePoint.longitude]; 
CLLocation *pointBLocation = [[CLLocation alloc] initWithLatitude:pointB.latitude longitude:pointB.longitude]; 
CLLocationDistance d = [pointALocation distanceFromLocation:pointBLocation]; 
MKCoordinateRegion r = MKCoordinateRegionMakeWithDistance(middlePoint, 2*d, 2*d); 
[mapView setRegion:r animated:YES]; 

的CLLocationDistance d包含中心,你想看到的第二點之間的距離(以米爲單位)。然後,使用中點和兩個以米爲單位的距離來設置要在屏幕上顯示的區域。通過使用2 * d,我確保屏幕將有足夠的空間顯示第二個點。

希望它有幫助。

- ank

+3

所有這一次不知道的地圖工具包功能的種類讓我覺得很愚蠢。它只是表明,即使經過近三年,答案可能是相關的。謝謝! – Moebius 2013-09-15 03:02:01

相關問題