浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
桌面GIS
/
问题详情
点对象风格设置
61095093...
66EXP
2018年06月26日
通过ID找到了数据集里指定的点对象,如何改变其风格(不在跟踪层上显示)。
iobjects
点对象
风格
请
登录
或者
注册
后回答这个问题。
1个回答
您好!如果您想改变点分格,可用geoPoint3D = new GeoPoint3D(point3Ds[ID]);用GeoStyle3D来构造风格,然后将此风格赋给geoPoint3D.Style3D。
如果您想让点不在跟踪层上显示,请删除 sceneControl.Scene.TrackingLayer.Add(geoPoint3D, "点");这句代码。
胡延南
3,367EXP
2018年06月26日
就是这个点原来是绿色的, 我想把它变为红色, 但显示红色我们以前大多是在跟踪层上覆盖显示的, 但我跟踪层另有用处 ,我能不在跟踪层显示就能让其变成红色吗?我是二维地图
我的代码是这样:
DatasetVector dataset = m_workspace.Datasources[0].Datasets["New_Point"] as DatasetVector;//打开点数据集
Recordset recordset = dataset.GetRecordset(false, CursorType.Dynamic);
recordset.SeekID(ID);//根据ID获取点对象
GeoPoint point = recordset.GetGeometry() as GeoPoint;
//点对象风格设置
GeoStyle geostyle = new GeoStyle();
geostyle.MarkerSize = new Size2D(6.4, 6.4);
geostyle.LineColor = Color.Red;
point.Style = geostyle;
刷新了一下图层,那个点还是绿色;
是 geostyle.MarkerColor = Color.Red;而不是geostyle.LineColor = Color.Red;
咳咳 没有geostyle.Markercolor只有geostyle.LineColor ,这个就是点状符号或者线状符号的颜色。
不好意思,我是支持三维的,二维的我还不太清楚,但是原理是一样的。我再看看
recordset.SeekID(ID);是bool型,您检查一下您的point是您指定的那个ID的点吗?建议您创建一个选择集,然后将选择集转化为记录集
m_mapcontrol.Map.TrackingLayer.Add(point, "");
是这个点,我如果把它附在跟踪层上,这个点变为了红色。但我不想附在跟踪层上,因为我的跟踪层另有用处,我的意思是我能用啥方法直接改变这个点为红色吗。我如果不写上面那句代码,我对点对象设置风格,刷新图层,没用,点的颜色不改变。
我问了相关技术人员,点数据集是没有办法直接改变颜色的,只有将点数据集生成缓存文件可以不在跟踪层就可以直接改变颜色。
因为我需要做这样一个功能“让一个点对象变成黄色定时闪烁,另一个点对象只是变成红色不闪烁,这是警报的两个状态(起初点都为绿色)”因为定时闪烁是定时刷新跟踪层的实现的。那么变红的点对象就不能再附在跟踪层上了,附在跟踪层上的话也会跟着闪烁。所以我想问有没有啥方法解决?
您可以让您这两个点在不同数据集里显示
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
点对象风格设置
点替换为图标或者图片显示
iDesktop中的天地图风格符号在哪里
怎么通过iclient 获取专题图的风格
点对象风格设置
在kml图层添加三维点对象只显示点对象的一半
在kml图层中如何添加点线面对象
跟踪图层添加点对象永远在最上
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...