我想接收 kml 文件中点的坐标。我创建了一个接收坐标的对象,但找不到如何从文件中获取坐标。
到目前为止所做工作的示例:
(积分是132分,但我缩短了它,以便能够在这里展示。
Kml 文件:
<LinearRing>
<coordinates>
34.79991805485883,32.070779943443,0
34.799829164854,32.07080649750882,0
34.79971023480251,32.07083335300256,0
34.79959122858838,32.07086022634235,0
34.79947508289758,32.07091343448649,0
34.79935881388468,32.07096669690968,0
34.79923664471844,32.07096729415576,0
34.79912177286835,32.07104658864036,0
</coordinates>
<LinearRing>
在代码中:
int i =0;
for (KmlContainer containers : kmlLayer.getContainers()) {
poly[i] =new PointPoly(containers);
i++;
}
代码不起作用。将不胜感激。
首先确保你得到了包含坐标的字符串。
(<coordinates>
标记之间的文本)
然后使用
String[] coords3d = coordStr.split(" ");
拆分为一个由纬度、纬度、高度字符串组成的数组。遍历该数组并拆分每个字符串
String[] coordLatLonAltitude = coord.split(",");
以拆分为单独的纬度、经度和高度值。
List<LatLng> points = new ArrayList<>();
for (KmlContainer c : kmlLayer.getContainers()) {
for (KmlPlacemark p : c.getPlacemarks()) {
KmlGeometry g = p.getGeometry();
if (g.getGeometryType().equals("LineString")) {
points.addAll((Collection<? extends LatLng>) g.getGeometryObject());
}
}
}
GeometryType 在 kml 文件上可以不同,例如"LinearRing"。但基本上这对我来说是工作代码。