目的:达到控制跟踪图层标签的显隐
问题描述:现已达到了控制跟踪图层的图标显示隐藏,但是没法控制其标签的显隐(图标显示隐藏代码如下)
scene.get_trackingLayer3D().get_item(view_show[i]).set_isVisible(false); scene.get_trackingLayer3D().get_item(view_show[i]).set_isVisible(true);
//设置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);
通过上述方法add添加了跟踪图层Geoplacemark、markerFile,但是只能控制markerFile符号,不能隐藏标签Geoplacemark
你所说的这这个思路我之前也尝试过,但出现了问题:我是通过get_trackingLayer3D().add添加跟踪图层,然后将返回的跟踪图层中的索引号存在数组中
var result = scene.get_trackingLayer3D().add(feature3D, name); view_show.push(result);
最后通过scene.get_trackingLayer3D().removeAt(item);遍历数组中索引号去移除跟踪图层。
然后就出现问题了:不能移除所有对应索引号的跟踪图层,只能移除部分。这搞得很头疼
那我这儿咋啥都没有
中国区域
没有对象
你给我的代码我看了下,你在移除写的事件是移除所有的跟踪图层!那你写的for循环没有意义