2012-08-14 76 views
0

我試圖從self.mapView.gps.currentPoint中提取x和y座標,我該怎麼做?如何獲得座標?

這是我迄今所做的:

NSLog(@"Location1 : %@", self.mapView.gps.currentPoint); 

結果:

Location1 : AGSMutablePoint: x = 29841.008687, y = 40101.841687, spatial reference: 
    [AGSSpatialReference: wkid = 0, wkt = "PROJCS["SVY21", 
    GEOGCS[ 
     "SVY21[WGS84]", 
     DATUM[ 
      "D_WGS_1984", 
      SPHEROID["WGS_1984",6378137.0,298.257223563] 
     ], 
     PRIMEM["Greenwich",0.0], 
     UNIT["Degree",0.0174532925199433] 
    ], 
    PROJECTION["Transverse_Mercator"], 
    PARAMETER["False_Easting",28001.642], 
    PARAMETER["False_Northing",38744.572], 
    PARAMETER["Central_Meridian",103.8333333333333], 
    PARAMETER["Scale_Factor",1.0], 
    PARAMETER["Latitude_Of_Origin",1.366666666666667], 
    UNIT["Meter",1.0] 
]"]` 

,如果我用NSLog(@"Location2 : %@", self.mapView.gps.currentPoint.x); 它將返回我一個錯誤不能進入。

回答

2

你的問題是格式字符串在NSLog

NSLog(@"Location2 : %@", self.mapView.gps.currentPoint.x); 

%@意味着它期待的OBJ-C對象。你通過它CGFloat。你應該用%f%g(這兩個都取一個浮點值,但輸出稍有不同)替換它。

NSLog(@"Location2 : %f", self.mapView.gps.currentPoint.x); 
+0

'的NSLog(@ 「LOCATION2:%@」,NSStringFromCGPoint(self.mapView.gps.currentPoint));'通過使用它返回我一個錯誤:'傳遞 'AGSPoint *' 不兼容類型的參數'CGPoint'(又名'struct CGPoint');' – sihao 2012-08-14 02:26:09

+0

並感謝它的工作! – sihao 2012-08-14 02:26:47

+0

@ user1495988:對不起,當我意識到你有'AGSMutablePoint'而不是'CGPoint'時,我刪除了額外的建議。我對'currentPoint'返回的內容做了一個糟糕的假設。 – 2012-08-14 02:28:24