我正在尝试用Java解析Kml文件.因为我需要获取地标的坐标,在java中生成一个poligon并使用它.
但我的问题是,我正在使用JAK这个库解析它,我无法提取我想要的信息.(我在官方页面中读到了"帮助",但我没有找到任何帮助解决我的问题)
我正在尝试这样做:
final Kml kml = Kml.unmarshal(new File("C:/Users/A556520/Documents/Proyectos/GeoFencing/res/labasa.kml"));
final Document document = (Document)kml.getFeature();
List<Feature> listafeatures = document.getFeature();
Run Code Online (Sandbox Code Playgroud)
但在这一点上我不知道如何提取坐标.
我试图解析的文件就是这个:la basa
有没有办法只使用Java API for KML(JAK)将图像文件添加到kmz文件中?我可以创建一个没有问题的kml文件,但我试图只是嵌入一个资源(例如带有一些图像文件的图像文件夹),但是marshalAsKmz方法只将Kml对象作为附加文件,所以我无法想象如何只包括额外的图像.
我正在开发一个涉及使用Java创建KML的项目.目前,我在使用Micromata Labs JAK示例中的KML示例中的示例Java代码.我试图通过添加多个坐标并获得两个标记来"扩展"代码,但我无法使其工作.你能告诉我如何添加多个坐标并在其上放置标记,并在标记之间画一条线.谢谢您的帮助!
PS:我需要通过程序来做到这一点.我看到了使用DOM和XML的示例代码,但不是纯Java/JAK.请指导我.
我得到了这个(更新):
kml.createAndSetDocument().withName("MyMarkers")
.createAndAddPlacemark().withName("London, UK").withOpen(Boolean.TRUE)
.createAndSetPoint().addToCoordinates(-0.126236, 51.500152);
kml.createAndSetDocument().withName("MyMarkers")
.createAndAddPlacemark().withName("Somewhere near London,UK").withOpen(Boolean.TRUE)
.createAndSetPoint().addToCoordinates(-0.129800,52.70??0152);
Run Code Online (Sandbox Code Playgroud)
但我知道我在某个地方出错了.请指出我正确的方向.
以下是生成的KML输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
<Document>
<name>MyMarkers</name>
<Placemark>
<name>Somewhere near London, UK</name>
<open>1</open>
<Point>
<coordinates>-0.1298,52.700152</coordinates>
</Point>
</Placemark>
</Document>
</kml>
Run Code Online (Sandbox Code Playgroud)
我似乎无法再次访问Document以添加更多地标.我该怎么做?