从地理点创建GPX文件

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
    }

我已经阅读了如何解析并在Android MapView上绘制gpx文件,但我正在寻找更简单的解决方案。

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()方法,但您知道要达到的格式,这将使您能够创建文件而无需经过许多步骤。请注意,这种方法非常脆弱,因此在上线之前请正确执行,但这是一个快速修复的简短版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接