首页 / 浏览问题 / 三维GIS / 问题详情
iclient三维跟踪图层标签
84EXP 2018年06月19日

目的:达到控制跟踪图层标签的显隐

问题描述:现已达到了控制跟踪图层的图标显示隐藏,但是没法控制其标签的显隐(图标显示隐藏代码如下)

scene.get_trackingLayer3D().get_item(view_show[i]).set_isVisible(false);
scene.get_trackingLayer3D().get_item(view_show[i]).set_isVisible(true);

1个回答

您这边是啥意思?点符号能隐藏,文本对象不能隐藏吗?
5,985EXP 2018年06月19日
//设置feature3D中的textStyle属性
				var textStyle = new parent.SuperMap.Web.Core.TextStyle3D();
				textStyle.set_foreColor(new parent.SuperMap.Web.Core.Color(255, 255, 255, 255));
				textStyle.set_backColor(new parent.SuperMap.Web.Core.Color(0, 0, 0, 255));
				textStyle.set_outline(true);
				textStyle.set_alignment(6);
				//				textStyle.set_fontName("黑体");
				textStyle.set_fontScale(0.7);

				//创建Geoplacemark
				var geoPlacemark = new parent.SuperMap.Web.Core.GeoPlacemark();
				geoPlacemark.set_name(name);
				geoPlacemark.set_geometry(geoPt);
				feature3D.set_geometry(geoPlacemark);

				var resulstStyle3D = new parent.SuperMap.Web.Core.Style3D();
				resulstStyle3D.set_altitudeMode(2);
				//				resulstStyle3D.set_markerSymbolID(0.5);
				var pictureurl = icon_view;
				resulstStyle3D.set_markerFile(pictureurl);
				feature3D.set_style3D(resulstStyle3D);
				feature3D.set_textStyle3D(textStyle);

				var resultVarqj = parent.scene.get_trackingLayer3D().add(feature3D, name);

imageimage

通过上述方法add添加了跟踪图层Geoplacemark、markerFile,但是只能控制markerFile符号,不能隐藏标签Geoplacemark

你上传的图片看不到,麻烦重新传下,另外geoplacemark是添加了文本还是有其它?可否直接清空对象的文本来实现?
geoplacemark添加的是文本,请问怎么实现清除对象的文本?

我现在实现的功能是:通过后台数据接口(多种数据)动态添加跟踪图层,要实现:多种跟踪图层对象单独控制显示隐藏。有什么方法能够实现呢?
刚刚测试此方法确实无法隐藏标签,可以换个思路去实现:先把对象保存到一个数组里面,然后隐藏时直接移除该对象,显示时再添加该对象。

你所说的这这个思路我之前也尝试过,但出现了问题:我是通过get_trackingLayer3D().add添加跟踪图层,然后将返回的跟踪图层中的索引号存在数组中

var result = scene.get_trackingLayer3D().add(feature3D, name);

view_show.push(result);

最后通过scene.get_trackingLayer3D().removeAt(item);遍历数组中索引号去移除跟踪图层。

然后就出现问题了:不能移除所有对应索引号的跟踪图层,只能移除部分。这搞得很头疼

移除我试了没啥问题啊,你跟踪下代码看看索引对不呢。
移除功能上是没有问题,能移除  只是我这边不能全部移除;我进行调试跟踪了,数组的传参没有问题
这问题我确实重现不了,实现不行的话你给我写个重现的demo,我这边看看呢。
我邮箱hulin@supermap.com
你好,demo我已经发到你邮箱,麻烦测试一下,谢谢
你给我的没有数据啊,看了config里的ip外网也访问不到吧
而且我看你写了个循环,是要移除所有对象吗,那为啥不直接用接口removeall
数据的接口外网可以调
我只是写了个列子,实际情况是多个接口的跟踪图层都要添加到场景上,需要单独去操作,所以不用要removeall
好的,你场景ip是多少,还有就是有个地址访问不到
你看到消息给我说下,我好删除上面图片
嗯嗯   第一个和第三个地址不会影像功能,只是一个场景和一个图片地址

那我这儿咋啥都没有

转动下地球
你给我截个图,转到哪儿,我都没看见

中国区域

没有对象

我用其他电脑、内外网都测试了 没有问题,都有数据啊;我重新发给你一边
还是没有,我自己先看看,你的意思是比如添加了是个对象,然后循环去删除,就有些删不掉吗?
是的,多个对象  然后循环去删除,部分删除不了
我今天测试地标又可以隐藏了,我发了个demo给你,你看看,另外移除确实有问题,我这边上报个缺陷。

你给我的代码我看了下,你在移除写的事件是移除所有的跟踪图层!那你写的for循环没有意义

我的错,估计程序哪儿被占用了没修改过来,刚刚试了确实还是无法隐藏,这问题我报缺陷吧,之后缺陷号和对接研发私信你,着急的话联系销售去跟研发沟通尽快解决问题。
...