Android 将国家边界绘制为多边形

Android 将国家边界绘制为多边形,android,google-maps-api-2,Android,Google Maps Api 2,我正在使用谷歌地图API(v2)开发一个Android应用程序。我确实想显示国家边界,但不想显示国家名称或任何其他信息(静音地图)。应用程序的目的是创建地理游戏 考虑到这一点,如文档中所述,我首先考虑将每个国家的边界绘制为线(使用)。于是,我在谷歌上搜索了一下,找到了一个已经完成的。它是KML格式的,很容易导入到Google Earth应用程序和Google地图,但我一直找不到Android的导入方法 KML文件中的国家的格式与以下格式类似(以csv形式下载),以防该国家只需要表示一个多边形:

我正在使用谷歌地图API(v2)开发一个Android应用程序。我确实想显示国家边界,但不想显示国家名称或任何其他信息(静音地图)。应用程序的目的是创建地理游戏

考虑到这一点,如文档中所述,我首先考虑将每个国家的边界绘制为线(使用)。于是,我在谷歌上搜索了一下,找到了一个已经完成的。它是KML格式的,很容易导入到Google Earth应用程序和Google地图,但我一直找不到Android的导入方法

KML文件中的国家的格式与以下格式类似(以csv形式下载),以防该国家只需要表示一个多边形:

Andorra,"
<Polygon>
    <outerBoundaryIs>
        <LinearRing>
            <coordinates>
                 1.78172,42.569962 1.723611,42.509438 1.445833,42.601944 1.78172,42.569962
             </coordinates>
        </LinearRing>
     </outerBoundaryIs>
</Polygon>"

我本可以让这个解决方案奏效,但因为我想要更多的功能,比如只画一些大陆,所以这个解决方案是不够的

因此,最后,我认为最好(也更容易理解)将KML文件转换为具有以下结构的XML文件(并且具有强大的Python基础,认为XML非常容易解析):

<continent name="Europe">
    <country name="Andorra">
        //As many polygons as necessary
        <poligon1>
         //Coordinates go here
         </poligon1>

        <poligonN>
        //Coordinates go here
        </poligonN>
    </country>
</continent>

//尽可能多的多边形
//坐标在这里
//坐标在这里
我已经知道如何将KML转换为XML,但是Android中有很多解析器,比如DOM、SAX、XMLPull…:

  • 哪一个最适合这些情况?(KML文件大小为850kB)
  • 你能提供一些例子/提示,告诉我如何遍历一个大陆上的所有多边形吗
请注意,使用XMLs的想法是不固定的,而且 如果有人有其他想法,我会很高兴听到他们


// Instantiates a new Polygon object and adds points to define a rectangle
PolygonOptions rectOptions = new PolygonOptions()
    .add(new LatLng(37.35, -122.0),
    new LatLng(37.45, -122.0),
    new LatLng(37.45, -122.2),
    new LatLng(37.35, -122.2),
    new LatLng(37.35, -122.0));


myMap.addPolygon(rectOptions);
<continent name="Europe">
    <country name="Andorra">
        //As many polygons as necessary
        <poligon1>
         //Coordinates go here
         </poligon1>

        <poligonN>
        //Coordinates go here
        </poligonN>
    </country>
</continent>