如何利用C#+MapX编程实现添加符号图元并修改其样式等属性?

我想通过已知的经纬度坐标在MapX地图上创建符号图元,通过如下代码实现:……MapXLib.Stylesty=newMapXLib.StyleClass();MapXLi... 我想通过已知的经纬度坐标在MapX地图上创建符号图元,通过如下代码实现:
……
MapXLib.Style sty = new MapXLib.StyleClass();
MapXLib.Feature ftr = new MapXLib.FeatureClass();
ftr.Attach(axMap1.GetOcx());
ftr.Type = MapXLib.FeatureTypeConstants.miFeatureTypeSymbol;
sty.SymbolType = MapXLib.SymbolTypeConstants.miSymbolTypeBitmap;
……
已经实现了符号图元的创建,但是符号图元自动为一个“小黑旗”,设置它的如下属性也没起作用:
……
sty.SymbolCharacter
sty.SymbolBitmapSize
sty.SymbolBitmapColor
sty.SymbolBitmapTransparent
sty.SymbolBitmapName
……
请高手指导一下,我想改天它的诸如样式、颜色、大小等属性该如何实现呢?
展开
 我来答
吴山碧
2010-09-01 · TA获得超过272个赞
知道答主
回答量:106
采纳率:0%
帮助的人:138万
展开全部
这是vc的,我每句都加了注释,你可以参考下
CMapXFeature ft;//创建图元对象
ft.CreateDispatch( ft.GetClsid( ) );
ft.Attach( m_ctrlMapX.GetDispatch( FALSE ) );//以上两句牵扯到组件知识,大概就是新建一个mapx对象就需要这样注册下
ft.SetType( miFeatureTypeLine );//图元样子,这里是线形的
ft.GetStyle( ).SetLineColor( 0xFF0000 );//颜色
ft.GetStyle( ).SetLineStyle( 1 );//线的形状
ft.GetStyle( ).SetLineWidth( 1 );//线宽
ft.GetParts( ).Add( pts );//既然是线性,需要至少两点来确定画线位置,这里的pts是CMapXPoints对象,在前面的程序里已经定义好了

看了你的代码,c#不是很懂,但是注意到像你设置了feature的style,但是style是要加到feature上的。vc里面会这样写
feature.SetStyle(style.m_lpDispatch);看看C#中feature对象的SetStyle方法
由涵楣0H
2010-08-27 · TA获得超过397个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:193万
展开全部
用C#+ARCENGINE不是好很多吗,现在主流的GIS二次开发方式啊,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式