android - 无法让android将GeoPoint GPS坐标数据正确写入文件

标签 android kml

我目前正在为 android 编写一些软件,这些软件以 GeoPoints 的数组列表的形式获取 gps 数据并将其写入 KML 文件。文件的其余部分创建得很好,但是当 gps 数据以下列方式写入文件时:

for(int i=0; i < geoPoints.size(); i++){    
    writer.write(geoPoints.get(i).getLatitudeE6());
    writer.write(", ");
    writer.write(geoPoints.get(i).getLongitudeE6());
    writer.write("\n");
}

文件的输出是随机字符:

ꗺ, 繿
ꔚ, 练
鬅, 眑

如果我更改循环以将其转换为字符串:

for(int i=0; i < geoPoints.size(); i++){    
    writer.write(Integer.toString(geoPoints.get(i).getLatitudeE6()));
    writer.write(", ");
    writer.write(Integer.toString(geoPoints.get(i).getLongitudeE6()));
    writer.write("\n");
}

那么输出几乎是正确的,就是没有小数位?

-45570790, 167608003
-45571713, 167608345
-45572973, 167606660

谁能帮我找到那个讨厌的小数点?

最佳答案

E6 表示它的纬度 * 1E6,所以为了使它看起来像 -45.57 和 -45570790,您需要除以 1E6。

for(int i=0; i < geoPoints.size(); i++){    
    writer.write(Integer.toString(geoPoints.get(i).getLatitudeE6() / 1E6));
    writer.write(", ");
    writer.write(Integer.toString(geoPoints.get(i).getLongitudeE6() / 1E6));
    writer.write("\n");
}

关于android - 无法让android将GeoPoint GPS坐标数据正确写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033304/

相关文章:

iphone - 关于Apple的KMLViewer placemarkDescription and annotation subtitle

android - 所有Gradle口味描述始终返回最后一个值

android - 使用底部应用栏选项卡导航 - flutter

Java jackson org.codehaus.jackson.map.exc.UnrecognizedPropertyException

geospatial - 从纬度/经度点数组确定多边形的外边界

icons - 如何在 kml 中引用本地自定义图标?

google-maps - Google map - 抓取 KML/提取叠加数据(坐标)

java - 广播接收器泄露

android - TextView 的填充应用于线性布局中的其他 View

python - 在 pykml 中读取带有多个地标的 kml 文件