从GeoPoints创建GPX文件

时间:2012-08-23 11:20:35

标签: android google-maps android-maps gpx

有没有办法将GeoPoints导出到GPX文件中?

@Override
public void onLocationChanged(android.location.Location location) {
        lat = location.getLatitude();
        lon = location.getLongitude();
        currGeo = new GeoPoint((int)(lat*1e6),(int)(lon*1e6));

        //Store GeoPoint to GPX file
    }

我已阅读How to parse and plot gpx file has an android MapView,但我正在寻找更简单的解决方案。

1 个答案:

答案 0 :(得分:3)

如果您只想从地理位置列表中生成GPX文件,最简单的方法就是将字符串压缩到文件中。不知道GPX的确切格式,我正在制作很多细节,但你应该知道你正在生成的格式。 例如,在伪代码中:

// open file handle
OutputStream fout = getFileOutputStream("gpxFile.gpx");
fout.write("<gpx>");
for (GeoPoint gp : listOfGeoPoints) {
    fout.write("<gpxPoint>" + getGeoPointAsStringForFile(gp) + "</gpxPoint>"); 
}
fout.write("</gpx>");
// close file, cleanup, etc

这需要你实现getFIleOutputStream()方法和getGeoPointAsStringForFile()方法,但是你知道你的目标是什么格式,而这只是让你创建文件而不需要经历很多箍。

  • 应该注意的是,这是非常脆弱的,所以在你上线之前以正确的方式做到这一点,但这是一个简短版本的快速修复。