java - 转换为 GeoPoint

标签 java android maps

你好我有下一个奇怪的问题: 我从 sql server 中恢复坐标为 double,将其转换为 float,然后转换为 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

感谢您的帮助!

最佳答案

而不是 10E6 使用 1E6,因此将代码更改为以下内容:

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

因为 10E6 会产生与输入相同的数字,而 1E6 会将数字乘以 10 的 6 次方。

关于java - 转换为 GeoPoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413177/

相关文章:

java - 获取当前项目/ war 中的类列表

java - 显示String和ArrayList的HashMap

java - 错误 App Engine Java 标准环境 JRE8 需要 Java 1.8

android - 什么时候需要在应用程序中创建一个单独的进程?

android - 是否可以使用 adb 命令通过查找 ID 单击 View ?

javascript - 如何在传单控件搜索结果上显示 2 个值(工具提示)

java - Android Sqlite单行选择

android - Android 上的 Phonegap 地理定位

c# - 固定在 map 上(如 UI)

javascript - 谷歌地图 API 函数 map.getCenter()