多数民众赞成在这里我的第一个问题,所以请耐心等待。
我正在研究用于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):
KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext());
KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext());
创建KmlLayer后,调用addLayerToMap()将导入的数据添加到地图上。
layer.addLayerToMap();
有关更多信息,您可以参考适用于Android的Maps SDK KML导入实用程序
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句