|
阅读:1785回复:3
[求助]AO中鹰眼控件和主控件数据同步
我在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>
|
|
|
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>
|
|
|
2楼#
发布于:2009-08-04 10:27
我想是不是我图层加载的顺序导致的啊,要是先加载了点图层,再加载面图层的话,显示出来就只有面图层了,但是我看了我的图层顺序,如果最下层的图层编号是0的话,那么我的顺序是没有问题的啊,面、线、点,应该没有遮挡的,什么原因呢?
|
|
|
3楼#
发布于:2009-08-03 13:59
for (<FONT color=#ff0000>int i = 1</FONT>; i <= pMap.LayerCount; i++)<BR>是否应该是i=0
|
|
|