8

有什么方法可以导出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,但我正在寻找更简单的解决方案。

4

1 回答 1

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() 方法,但您知道您的目标是什么格式,这样您就可以创建文件而无需经历很多麻烦。

  • 应该注意的是,这是非常脆弱的,所以在你上线之前做正确的方法,但这是一个简短的版本快速修复。
于 2012-11-07T17:56:23.377 回答