懂Arcgis Engine的回答(最好是C#开发),我是一个新手,谢谢各位大神。
public方法(ISymbolpSymbol,IGeometrypGeometry){}privatevoid点击_Click(objectsender,EventAr...
public 方法 (ISymbol pSymbol, IGeometry pGeometry)
{
}
private void 点击_Click(object sender, EventArgs e)
{
方法 (?,?);
}
我先写了一个方法(如上所示),然后我要在点击事件中使用这一个方法,需要重载括号中的数据,该怎么写?最主要是符号(Symbol)的重载。 展开
{
}
private void 点击_Click(object sender, EventArgs e)
{
方法 (?,?);
}
我先写了一个方法(如上所示),然后我要在点击事件中使用这一个方法,需要重载括号中的数据,该怎么写?最主要是符号(Symbol)的重载。 展开
2个回答
展开全部
private void method(ISymbol pSymbol, IGeometry pGeometry)
{
}
private void button(点击)_Click(object sender, EventArgs e)
{
ISymbol pSym = "//对pSym的赋值或操作";
IGeometry pGeo = “//对pGeo的赋值或操作”;
method(pSym, pGeo);//调用method函数,并进行参数传递;
}
{
}
private void button(点击)_Click(object sender, EventArgs e)
{
ISymbol pSym = "//对pSym的赋值或操作";
IGeometry pGeo = “//对pGeo的赋值或操作”;
method(pSym, pGeo);//调用method函数,并进行参数传递;
}
更多追问追答
追问
这个我知道,我想知道ISymbol pSym = 具体的东西。我有MapControl等控件。我想的是把MapControl的图层转化为GIS图形复制到剪贴板上。现在就差这一步了——ISymbol pSym = 具体的东西。
追答
其实你想实现把MapControl中的图层转化为GIS图形复制到剪贴板上不用获取他们的symbol特征的,ISymbol类是在显示时用的,你只需要复制它的Geometry类就可以了,下面每个要素图形的例子
private IEnumGeometry GetEnumGeometryFromFeatureLayer()
{
IFeatureLayer pFeatLyr = (IFeatureLayer)axmapControl.get_Layer(0);//获取图层
IFeatureClass pFeatCls = pFeatLyr.FeatureClass;//获取要素类
IFeatureCursor pFeatCur = pFeatCls.Search(null,false);//获取要素指针
IFeature pFeat = pFeatCur.NextFeature();//遍历指针里的要素
IGeometryCollection pGeoCol = new GeometryBagClass();//定义Geometry类集合
while(pFeat ! = null)
{
IGeometry pGeo = pFeat.ShapeCopy;//每个要素的图形进行复制并赋给pGeo
pGeoCol.AddGeometry(pGeo);//把每个复制的图形添加到GeometryCollection;
}
return (IEnumGeometry)pGeoCol;
}
这是一个返回一个图层每个要素图形的例子,当然也可以用其它方法把他们合并,看你要怎么弄了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有好几个demo源码,C#,java都有啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询