浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
超图iObject怎么通过代码修改一个图层(例如点线面)中所有地图符号
少年4
14EXP
2020年09月24日
我能想到的只有通过recordset重新setgeometry但是有没有其他方法
iobject
请
登录
或者
注册
后回答这个问题。
1个回答
通过Layer..AdditionalSetting 属性获取到图层信息类,因为是点线面,将获取出来的信息类强制转换为LayerSettingVector,然后设置LayerSettingVector的style属性,这个就是针对整个矢量数据集图层设置风格。
程逸诗
4,620EXP
2020年09月24日
试了,但是没有效果啊,刷新mapcontrol和map都没有效果,是不是还有其他细节
你代码怎么写的,贴出来看一下
LayerSettingVector lsv = (LayerSettingVector)map.Layers[j].AdditionalSetting;
GeoStyle geo = new GeoStyle();
//geo.FromXML(recordset.GetFieldValue("Symbol").ToString());
geo.FillBackColor = Color.Red;
geo.FillForeColor = Color.Red;
geo.LineColor = Color.Red;
lsv.Style = geo;
map.Layers[j].AdditionalSetting = lsv;
this.thismap.Refresh();
this.thismap.Map.Refresh();
你的图层对应的数据集是什么类型的数据集
点线面类型的数据集
LayerSettingVector lsv = (LayerSettingVector)m_mapControl.Map.Layers[0].AdditionalSetting;
lsv.Style.MarkerSize = new Size2D(12, 12);
this.m_mapControl.Map.Refresh();
没有问题,上面代码修改了图层点符号的大小,需要注意的就是针对符号geostyle来说,有些属性是针对点对象的,有些是针对线对象风格的,每一个参数是对什么类型对象设置什么类型风格在帮助文档里面有详细的讲解,可以看一下,唯一注意的是LineColor 是针对点、线对象设置颜色。
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
请问iobject.net如何统一修改地图所有图层的线宽和线颜色呢
超图FAQ:请教一个iObject Java 的问题,视频数据集要怎么用代码修改数据,我用普通的方式修改不了
地类图斑(0601工业用地)二维面中心只填充一个点符号,如何制作?
iobject c++请问怎么在代码中给点数据集中添加一个点
请问像这种给每个定位点都都配置一个小旗子应该怎么实现(小旗子符号已做好)
iobject如何通过代码在地图中添加点图层并给点图层中加点
超图FAQ:请教一下,用iserver11.1.1发布地图服务(图层为单值专题图),在查看图例时,图层图例列表中,显示的是专题图的图层名称,不是修改后的图层标题,用户想在图层图例列表中,显示修改后的图层标题,这个可以设置吗
在VS中运行超图示例代码时出现这个弹窗是为什么
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...