2014-12-19 32 views
-2

我只是想在地圖視圖中心到位置,但它總是崩潰,下面的代碼:如何將地圖集中到特定座標?

@property (weak, nonatomic) IBOutlet MKMapView *map; 

...

CGFloat x = 94.71; 
CGFloat y = 6.94; 
CLLocationCoordinate2D pointLocation = CLLocationCoordinate2DMake(x, y); 
[[self map] setCenterCoordinate:pointLocation animated:YES]; 

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因:'Invalid Coordinate +94.70999908,+ 6.94000006

此代碼用於在另一個應用程序工作...不知道爲什麼它不工作...是因爲數據類型(CGFloat)?

+0

CLLocationCoordinate2DMake有效的(0,0)不會崩潰... – user2387149

+0

CLLocationCoordinate2DMake參數緯度,經度。緯度94.71超出範圍(必須從-90到+90)。你可能想要做'CLLocationCoordinate2DMake(y,x)'。 – Anna

回答

4

座標被認爲是無效的,如果它符合下列標準中的至少一個:

及其緯度大於90度或小於-90度。

其經度大於180度或小於-180度。

Core Location Functions Reference

可以檢查座標是BOOL CLLocationCoordinate2DIsValid (CLLocationCoordinate2D coord);

+0

感謝的人,不知道有關座標,我從我的飼料一直有經度和緯度。 – user2387149

相關問題