上篇博客《如何将GPS数据转换成KML数据?使用JAK的例子》例子只有添加一个placemark的例子,由于网络封锁加之Jak资料还是非常少的,导致如何在一个KML添加多个Placemark也成为难题。
我越墙出去,找了点资料,通过这种方式就可以将多个GPS点生成KML中的多个Placemark。另外需要说的一点就是,KML中支持的是WGS84坐标系统,如果各位从百度或者阿里地图导出数据时,请先完成坐标变换。如何转换请看我的另外一篇博客《国内外互联网地图常用的几种坐标系统:概念,原理和应用》。
一个KML文件添加多个Placemark代码如下:
final Kml kml = new Kml();
Document doc = kml.createAndSetDocument();
doc.createAndAddPlacemark().withName("London, UK").withOpen(Boolean.TRUE)
.createAndSetPoint().addToCoordinates(-0.126236, 51.500152);
doc.createAndAddPlacemark()
.withName("Shanghai, China").withOpen(Boolean.TRUE)
.createAndSetPoint().addToCoordinates(123, 32);
//marshals to console
kml.marshal();
//marshals into file
kml.marshal(new File("HelloKml.kml"));