4

嗨,我在弄清楚如何在坐标类型之间进行转换时遇到了一些麻烦。我有一个带有以下描述的坐标集列表

“坐标始终在 WGS84 系统中。所有坐标 a 表示为整数值 x 和 y,其中坐标值乘以 1,000,000。”

一个例子:559262 6319512

好吧,我需要将这些转换为长/纬度(并返回),以便我可以在谷歌地图(android)中使用它们。但这并不像接缝那么容易。我一直在四处寻找,确实找到了一些代码来执行此操作,但它无法正常工作。谁能提供一些代码来做到这一点?如果可能的话,我想避免使用大型地理框架(它必须在 android 应用程序中使用)。

谢谢。

最好的问候,肯尼斯

编辑:我确实找到了自己的解决方案。我下载了这里描述的类:http: //www.ibm.com/developerworks/java/library/j-coordconvert/

它工作正常。希望有人能发现它有用。

我很抱歉在体面地完成作业之前发帖。感谢所有发帖的人

4

2 回答 2

3

如果您从 android 上的 GPS 获取位置,您将获得一个 Location 对象,该对象将 Lat/Long 保存为双精度值。为了在 Google 地图上显示一个点,您需要使用以下方法将这些双精度值转换为 GeoPoint 对象:

GeoPoint location = new GeoPoint(
            (int) (mLocation.getLatitude()) * 1E6), 
            (int) (mLocation.getLongitude()) * 1E6)
                     );

希望这会有所帮助。

于 2011-04-11T18:02:34.333 回答
1

所有 GPS 系统都给出了相对于地球 WGS84 模型的纬度和经度。除非您打算针对一个国家的本地模型(例如英国 OSGB36 模型)给出纬度/经度,否则您应该将拥有的坐标视为表示微度数。即使在英国这里,海军部现在也打印了相对于 WGS84 的经纬度海图,我预计军械测量局的陆地地图将很快效仿,如果他们还没有这样做的话。

于 2011-04-11T18:39:58.447 回答