从GeoPoints创建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 } 

我已经阅读了如何解析和绘制gpx文件有一个android MapView ,但我正在寻找一个更简单的解决方案。

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

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

这将要求您实现getFIleOutputStream()方法和getGeoPointAsStringForFile()方法,但是您知道您的目标是什么格式,这将让您只需创建文件而无需经历大量的箍。

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