首页 / 浏览问题 / 移动GIS / 问题详情
imobile Android 添加地标 KMLFile问题
30EXP 2020年04月28日
feature3Ds.toKMLFile问题。把新的Feature3Ds通过toKMLFile方法输出到KML文件中以后,再读取此KML文件,还是旧的数据。
remove()和add()方法貌似不好用,或者有时好用有时不好用。对KML文件图层操作有什么特殊注意的吗?

2 个回答

图层的add、remove、clear等方法是不是异步执行?
30EXP 2020年04月28日
您好,关于这个问题需要确认如下几点:

1、使用的iMobile for android是哪个版本;

2、feature3Ds对象的来源是哪里,使用feature3Ds.toKMLFile()时返回是true还是false;读取kml文件的时是否通过feature3Ds.fromKMLFile();上述描述的“还是旧数据”是通过导入的feature3Ds的id判定的还是其它方式;

3、feature3Ds.add()和remove()方法失败的时候返回值分别是什么。
2,042EXP 2020年04月28日

1.版本:10i

2.feature3Ds对象的来源都是从KML文件中读取,通过

sceneControl.getScene().getLayers().get(layerKMlName)。API里feature3Ds.toKMLFile的返回是void,包括remove的返回都是void.“旧数据”就是指从KML文件中读取到的数据。所有数据来源以及数据的添加、删除等都是对同一个KML图层文件进行操作。

3.add和remove应该是没有失败,add返回Feature3D对象,remove没有返回。

追问:图层的操作方法是否是异步?

能回复一下吗
您好,不是异步执行。

使用场景中是将kml图层上的三维元素对象导出为kml文件,又导入加载到kml图层上,这种使用场景的目的是什么呢?

就是兴趣点功能,本地.kml保存了兴趣点信息,在我的功能里面要读出来这些兴趣点,有可能删除或者修改,再保存到本地.kml中。你看上面截图,如果我不让线程等待一下的话,可能需要删除的要素在我要进行toKMLFile的时候就没有被remove

好的,这个问题我这边按您描述的使用场景测试确认后给您答复。
好的,谢谢。
您好,关于三维元素集合中删除三维元素功能确认是在异步下处理的,导出为kmlFile前要确保三维元素移除成功。
...