2012-11-16 41 views
1

你好,我有下一個奇怪的問題: 我從一個sql服務器恢復座標爲雙,我將它轉換爲浮動,之後我轉換爲intE6。我設置了兩個打印件,一個在轉換爲GeoPoint之前,另一個之後。那麼,第一個似乎是打印良好的價值,但在第二個,經度值的價值失敗。轉換爲GeoPoint

還有就是例如:

float latitude = (float) json_data.getDouble("latitude"); 
float longitude = (float) json_data.getDouble("longitude"); 

Log.d("POINT",(int)(latitude*10E6)+" "+ (int)((longitude*10E6))); 

GeoPoint p = new GeoPoint((int)(latitude*10E6), (int)(longitude*10E6)); 

Log.d("POINT", ""+p.getLatitudeE6()+" "+p.getLongitudeE6()); 

我在服務器值:-4.779396,37.878901

印刷值:

-4779360 378789024

-4779360 18789024

感謝您的幫助!

回答

3

代替10E6使用1E6,所以改變代碼以執行以下操作:

GeoPoint p = new GeoPoint((int)(latitude*1E6), (int)(longitude*1E6)); 

如10E6將導致成相同數目的,作爲輸入,而將1E6通過10升數乘以供電6.

+0

由於因爲你回覆它的作品,爲轉換,但當我點createMarker(p,「我的點」);點不符合座標。但你回答我的問題,謝謝!我會調查新的問題:) –