imobile如何删除跟踪图层中的点?

0 投票
mMapControl!!.map.trackingLayer.remove(mMapControl!!.map.trackingLayer.indexOf("point${allPoint!!.count}"))

循环删除时,只能删除部分点。

1月 14 分类:  96次浏览 | 用户: ranmj0930 初出茅庐 (23 分)

1个回答

0 投票
您好,如果您想删除跟踪图层的所有点可以通过TrackingLayer.Clear()方法进行删除,如果只是特定的点数据就使用TrackingLayer.remove()方法
1月 15 用户: 董懿鑫 登峰造极 (7,638 分)

这个remove方法,对面用可以移除,但是点的话,不能完全移除,移除的代码如下,添加的tag的值也是这种赋值方式

var pointTag="point${polygonList!!.size}${pointList!!.count-1}"
mMapControl!!.getMap().getTrackingLayer()
    .remove(mMapControl!!.getMap().getTrackingLayer().indexOf(pointTag))
pointList!!.remove(pointList!!.count-1)
您好,您所说的不能完全移除是点没有移除完还是存在标签呢?麻烦具体说一下,然后看下你的代码里面count值是不是一一对应的。

应该是点没有移除,因为给点加的样式都还存在。count值是一一对应的,

pointList是点一个Point2Ds对象,里面存的是当前绘制层的点的集合。remove最近的一个点是可以移除的,再次移除其他点的时候不得行
您那边再获取跟踪图层几何对象的索引的时候可以试着使用hitTest方法来获取,然后再移除。

这个方法也试了,没用,不知道是我参数传错了还是怎样,hitTest()这个方法第二个参数是什么?按照翻译说的是公差,这个公差又如何计算呀? 我现在换了种方式,清除跟踪层的所有对象,然后重新渲染。之前想的是,能直接移除是最好的。

另外我想问下那个导入tif文件过大导入失败,还有其他方式可以导入吗?tif文件差不多3个G,导入的代码如下:

val importSettingTIF = ImportSettingTIF()
val importTIF: String =
    "$rootPath/SuperMap/SampleData/nczjdMapData/金溪镇长春村正射影像.tif"
importSettingTIF.sourceFilePath = importTIF
importSettingTIF.targetDatasetName = "tifImport"
importSettingTIF.targetDatasource = udbDatasource
importSettingTIF.sourceFileCharset = Charset.UTF8
importSettingTIF.multiBandImportMode = MultiBandImportMode.COMPOSITE
importSettingTIF.targetEncodeType = EncodeType.DCT
importSettingTIF.isImportingAsGrid = false
importSettingTIF.importMode = ImportMode.OVERWRITE
importSettingTIF.isBuildPyramid = true

// 将CAD数据添加到数据集
val tif = DataConversion.importTIF(importSettingTIF)
这么大的影像你们要直接在移动端导入加载吗?建议您那边使用iDesktop桌面软件导入tif影像,然后切缓存到移动端加载

哦哦哦。好的。我试试看,谢谢你哈,第一次摸supermap,有点摸不着头脑。laugh

...