こんにちは、次の奇妙な問題があります。SQL サーバーから座標を double として復元し、それを float に変換し、その後 intE6 に変換します。GeoPoint への変換前と変換後の 2 つのプリントを設定しました。1 つ目は適切な値を出力しているように見えますが、2 つ目は経度値の値が失敗しています。
例があります:
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
ご協力いただきありがとうございます!