如何在Google地图片段Android Studio中导入KML多边形文件

费尔南多·米尔顿

多数民众赞成在这里我的第一个问题,所以请耐心等待。

我正在研究用于Android开发的Java,现在在一个问题上呆了几个星期:

我只是无法在应用程序中导入简单的KML文件!

我尝试了kmlLayer,将文件作为输入流放入了devide中,但对我来说没有任何用处。(使用将字符串(我的文件在设备中的位置)转换为编码为“ utf-8”的InputStream的代码)

伙计们,以某种方式如何导入此多边形.kml?

<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document id="root_doc">
<Schema name="Extra_31_168_366" id="Extra_31_168_366">
    <SimpleField name="Name" type="string"></SimpleField>
</Schema>
<Folder><name>Extra_31_168_366</name>
  <Placemark>
    <name>Zona Extra a levantar</name>
    <Style><LineStyle><color>FF232323</color><width>0.737006</width></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>
      <MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>1.04761446057425,43.1864681306065 1.04740371376916,43.186733854839 1.04859489136319,43.1875310275366 1.04966695119782,43.1877875888645 1.05063821908219,43.1884015034707 1.0513254369249,43.1888596486991 1.05327713559821,43.1889879293631 1.05492645842072,43.1892170019774 1.05634670862899,43.1890520696951 1.05765700398243,43.1895835181601 1.05871073800792,43.1907655328496 1.05776695883726,43.1951179125201 1.06452918240956,43.1965839772512 1.06447420498214,43.195631035176 1.06418099203592,43.1933403090336 1.06093732381831,43.1920391765848 1.05740044265448,43.1885939244666 1.05425298493486,43.18868097206 1.05134834418633,43.1879479396945 1.04761446057425,43.1864681306065</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
  </Placemark>
</Folder>
</Document></kml>

现在,我几乎在做这样的手动操作:Excel,世界,并将此代码放入我的OnMapReady(GoogleMap googleMap):

PolygonOptions rectOptions = new PolygonOptions()
                .add(new LatLng(43.1864681306065,1.04761446057425), new LatLng(43.186733854839,1.04740371376916), new LatLng(43.1875310275366,1.04859489136319), new LatLng(43.1877875888645,1.04966695119782), new LatLng(43.1884015034707,1.05063821908219), new LatLng(43.1888596486991,1.0513254369249), new LatLng(43.1889879293631,1.05327713559821), new LatLng(43.1892170019774,1.05492645842072), new LatLng(43.1890520696951,1.05634670862899), new LatLng(43.1895835181601,1.05765700398243), new LatLng(43.1907655328496,1.05871073800792), new LatLng(43.1951179125201,1.05776695883726), new LatLng(43.1965839772512,1.06452918240956), new LatLng(43.195631035176,1.06447420498214), new LatLng(43.1933403090336,1.06418099203592), new LatLng(43.1920391765848,1.06093732381831), new LatLng(43.1885939244666,1.05740044265448), new LatLng(43.18868097206,1.05425298493486), new LatLng(43.1879479396945,1.05134834418633), new LatLng(43.1864681306065,1.04761446057425));
googleMap.addPolygon(rectOptions);
贾巴玛塔罗

您可以通过先创建KmlLayer的实例将KML图层添加到地图实例化KmlLayer的方法有两种(2)

  • 从本地资源渲染KML数据集:
    • KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext());
  • 从本地流渲染KML数据集
    • KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext());

创建KmlLayer后,调用addLayerToMap()将导入的数据添加到地图上。

  • layer.addLayerToMap();

有关更多信息,您可以参考适用于Android的Maps SDK KML导入实用程序

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将形状文件导入 R,多边形的多个实例 - 如何删除或简化多个多边形?

如何在Android Studio中使用JSON在谷歌地图片段上添加多个标记

如何在Google地图上删除绘制的多边形

Android Studio地图片段为空

每隔X米²在Google地图上的多边形内添加标记²Android Studio

如何在鼠标单击时更改KML多边形的颜色

如何使用C#获取动态多边形坐标(从外部文件)并在图片框上显示多边形形状

XML/KML - 如何在 bash 脚本中测试多边形是否“接触”另一个多边形

Google地图-缩放到多边形

Google顶部的地图路线多边形

Google地图:透明多边形

在Google地图上绘制多边形

虚线多边形Google地图

如何从XML文件在Java中创建多边形

如何在地图中显示多个多边形

如何在地图上添加多边形

如何从Google地图中删除多边形

如何在Google地图的彩色多边形上显示街道号码?

如何在Vue中保存Google地图编辑的多边形路径

GoogleMaps:如何在单个Google地图中具有多边形和标记

如何从 geojson 文件中获取多边形的坐标并从中挤出 3D 多边形?

如何拖动多边形?

如何旋转多边形?

如何连接多边形?

OSMGeoAdmin:导入的OSM地图:点,线和道路都可以,而不是多边形

Android:从片段中的ArrayList向地图添加多边形

带有外部地图的Google地图多边形

使用Google地图在多边形内绘制较小的多边形

将Google地图的相邻多边形组合成单个多边形的方法。