我有多个 KML 文件,这些文件在谷歌地球中绘制并包含不同的路线。现在我正在尝试使用 Maps API V2 在我的 android 项目中显示这些内容。
是否存在用于在您的 android 项目中导入 KML 文件并在地图中显示它们的库?我发现了一些关于堆栈溢出的代码(如何使用 kml 文件在地图上绘制路径?),这不是一个库。
如果没有可用的库,我将从头开始构建它。
我有多个 KML 文件,这些文件在谷歌地球中绘制并包含不同的路线。现在我正在尝试使用 Maps API V2 在我的 android 项目中显示这些内容。
是否存在用于在您的 android 项目中导入 KML 文件并在地图中显示它们的库?我发现了一些关于堆栈溢出的代码(如何使用 kml 文件在地图上绘制路径?),这不是一个库。
如果没有可用的库,我将从头开始构建它。
现在我只是假设没有公共库可以为我们做这件事,所以我将在解析我的 KML 文件中的数据后使用 Google 的代码将折线和多边形添加到我的地图中。如果找到库,将更新此答案。
创建折线和多边形:
// Instantiates a new Polyline object and adds points to define a rectangle
PolylineOptions rectOptions = new PolylineOptions()
.add(new LatLng(37.35, -122.0))
.add(new LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude
.add(new LatLng(37.45, -122.2)) // Same latitude, and 30km to the west
.add(new LatLng(37.35, -122.2)) // Same longitude, and 16km to the south
.add(new LatLng(37.35, -122.0)); // Closes the polyline.
// Set the rectangle's color to red
rectOptions.color(Color.RED);
// Get back the mutable Polyline
Polyline polyline = myMap.addPolyline(rectOptions);
只是对 Maps API V2 部分问题的KML 库的更新。Google Maps KML Importing Utility现在有一个测试版。
它是Google Maps Android API Utility Library的一部分。如文档所述,它允许从流中加载 KML 文件
KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext());
或本地资源
KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext());
创建 KmlLayer 后,调用 addLayerToMap() 将导入的数据添加到地图上。
layer.addLayerToMap();