您好,我遇到了下一个奇怪的问题:我从 sql 服务器恢复坐标作为双精度,将其转换为浮点数,然后转换为 intE6。我设置了两张打印,一张在转换为 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
谢谢你的帮助!