浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
数据集查到模型后 模型飞行定位后怎么使模型处于选中状态 选中时模型风格为红色
lk
12EXP
2019年08月27日
sceneCtrl3D.Scene.Fly(camera, 0);
GeoStyle3D style3d = new GeoStyle3D();
style3d.FillForeColor =Color.Red;
Selection3D select = sceneCtrl3D.Scene.Layers[0].Selection;
select.Style = style3d;
select.Add(1);
select.UpdateData();
我用数据集查到模型 飞行定位到模型 后设置选中状态不管用 没有反应
三维模型
三维场景矢量数据
请
登录
或者
注册
后回答这个问题。
1个回答
您好,这是我的实现代码,你把顺序换下试试,先selection3d.Add,再赋予风格
Selection3D selection3d = sceneControl1.Scene.Layers[0].Selection;
selection3d.Add(1);
selection3d.Style.FillForeColor = Color.Red;
selection3d.UpdateData();
邬袁凯
2,432EXP
2019年08月27日
不对呢 没有反应 选不上
您好,我这边测试是可以的哈,飞行过去就是红色的选中状态,你检查下场景对应的第一个图层的数据集是不是存在smid为1的对象
你可以把你飞行到选中的代码让我参考着看看吗 我怎么能通过数据集取到对应的图层呢?
这是我的代码,你把数据集加入到场景里面就对应一个图层呀,然后你找到这个数据集,看下有没有smid为1的对象,因为你添加的是1
Camera camera = new Camera( 116.44628459892,39.9063043228597,5);
sceneControl1.Scene.Fly(camera, 0);
Selection3D selection3d = sceneControl1.Scene.Layers[0].Selection;
selection3d.Add(1);
selection3d.Style.FillForeColor = Color.Red;
selection3d.UpdateData();
//构建查询条件
QueryParameter queryParam = new QueryParameter();
queryParam.AttributeFilter = string.Format("NAME='{0}'", selectBuildingName);
queryParam.CursorType = CursorType.Static;
//查询
Recordset recordsetResult = pDataSet3D.Query(queryParam);
sceneCtrl3D.Scene.Fly(camera, 0);
Selection3D select = sceneCtrl3D.Scene.Layers[0].Selection;
select.Add(recordsetResult.GetID());
select.Style.FillForeColor = Color.Red;
select.UpdateData();
那个1只是测试 我现在改成了这种 获取的是对应记录的ID 应该是有的呀
你那边要是没有数据集可以看,我这边给你说个方法测试下,你先选中模型,然后获取该图层的选择集selection3D,通过selection3D[0]可以知道对应的smid值,然后再用这个smid值测试就行了
有数据集的 看得到是有1 的 我就是先取得数据集 然后通过建筑物名称找到对应的模型 超图里面看的到数据集的 有SMID为1的
你那边有没有向日葵,发个远程码,我这边远程看一下呢
远程已解决,图层选择集对应错误的问题,重新指定图层解决
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
iDesktop里模型数据集调整风格设置
max数据导入超图模型乱飞,转换坐标之后模型才定位到正确坐标上。是怎么回事??
如何不用点击使feature处于选中状态
skp导入到UDB时,模型定位点中的x、y、z是灰色的,无法输入数值
你好,我想问一下扫描线为什么地图转到一定的位置天空就会闪一下红色
地图从漫游切换到选择状态,变成红叉且无法在切回
缓存的数据是平面场景数据,在webgl中我该怎么定位到模型?
超图FAQ:Java组件11.2.0,用datasetVector.query()接口进行查询,客户这边数据集的单位是平面-米,代码里获取到的数据集单位也是米,于是按照米去设置了查询半径为100米,但是查询结果把整个数据集的都查出来了
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...