5

我有多个 KML 文件,这些文件在谷歌地球中绘制并包含不同的路线。现在我正在尝试使用 Maps API V2 在我的 android 项目中显示这些内容。

是否存在用于在您的 android 项目中导入 KML 文件并在地图中显示它们的库?我发现了一些关于堆栈溢出的代码(如何使用 kml 文件在地图上绘制路径?),这不是一个库。

如果没有可用的库,我将从头开始构建它。

4

2 回答 2

0

现在我只是假设没有公共库可以为我们做这件事,所以我将在解析我的 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);
于 2013-01-22T08:58:02.820 回答
0

只是对 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();
于 2015-08-05T17:49:58.943 回答