ArcEngine二次开发的小问题。
怎么获取当前正在编辑的图层索引,或者Ilayer对象,还有就是怎么获取当前选择要素的图层索引,我在写一个Add_In但是每次获取图层的时候都子能pMap.Layer(0)...
怎么获取当前正在编辑的图层索引,或者Ilayer对象,还有就是怎么获取当前选择要素的图层索引,我在写一个Add_In 但是每次获取图层的时候都子能 pMap.Layer(0) ,这样很受局限,如果用户在编辑第二个图层呢?怎么判断
展开
1个回答
展开全部
写一个循环,读取地图对象中的每个图层,如果知道正在编辑图层的名称,就可以获得它的索引:
int index;
for(int i=0;i<map.Layercount;i++)
{
if(map.get_layer(i).Name=="图层名称")
index=i;
}
Ilayer layer=map.get_layer(index);
int index;
for(int i=0;i<map.Layercount;i++)
{
if(map.get_layer(i).Name=="图层名称")
index=i;
}
Ilayer layer=map.get_layer(index);
更多追问追答
追问
你这个思路我想过了,行不通,如果用户添加了2个同名的shp呢?之前用的是TTOContral的HitTest来做的,但是addin开发没这个方法
追答
一般,系统中不会存在同名的文件,万一出现可以修改图层别名。
map.get_layer(i).AliasName
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询