woodyxuan
路人甲
路人甲
  • 注册日期2007-01-05
  • 发帖数3
  • QQ
  • 铜币190枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1785回复:3

[求助]AO中鹰眼控件和主控件数据同步

楼主#
更多 发布于:2009-08-03 11:04
我在AO中使用两个MapControl控件,axMapControl1作为主控件,axMapControl2作为鹰眼控件,使两个空间的显示数据保持一致,代码如下:<br>private void axMapControl1_OnMapReplaced(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMapReplacedEvent e)<br>        {<br>            IMap pMap = axMapControl1.Map;<br>            for (int i = 1; i <= pMap.LayerCount; i++)<br>            {<br>                axMapControl2.Map.AddLayer(pMap.get_Layer(i));<br>            }<br>        }<br>当主控件的地图数据更新后,鹰眼空间会对应进行更新,现在的问题是,鹰眼空间的数据不能完全加载,也就是说只加载了1个图层,摆脱各位大虾看看是怎么一回事<br>
喜欢0 评分0
woodyxuan
路人甲
路人甲
  • 注册日期2007-01-05
  • 发帖数3
  • QQ
  • 铜币190枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2009-08-04 21:21
问题解决了,确实是因为图层的顺序导致的,将循环语句的顺序倒置一下就OK了<br>for (int i = pMap.LayerCount - 1; i >= 0; i--)<br>            {<br>                axMapControl1.Map.AddLayer(pMap.get_Layer(i));<br>            }<br>
举报 回复(0) 喜欢(0)     评分
woodyxuan
路人甲
路人甲
  • 注册日期2007-01-05
  • 发帖数3
  • QQ
  • 铜币190枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2009-08-04 10:27
我想是不是我图层加载的顺序导致的啊,要是先加载了点图层,再加载面图层的话,显示出来就只有面图层了,但是我看了我的图层顺序,如果最下层的图层编号是0的话,那么我的顺序是没有问题的啊,面、线、点,应该没有遮挡的,什么原因呢?
举报 回复(0) 喜欢(0)     评分
小波变换
路人甲
路人甲
  • 注册日期2007-06-20
  • 发帖数64
  • QQ
  • 铜币58枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2009-08-03 13:59
 for (<FONT color=#ff0000>int i = 1</FONT>; i <= pMap.LayerCount; i++)<BR>是否应该是i=0
********************************** 喜欢有激情的生活 msn:hou.jiazte@hotmail.com 欢迎交流 **********************************
举报 回复(0) 喜欢(0)     评分
游客

返回顶部