日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

ArcEngine中使用上下左右键移动地图

發(fā)布時(shí)間:2023/12/10 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ArcEngine中使用上下左右键移动地图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自愿文ArcEngine中使用上下左右鍵移動(dòng)地圖

?

?

因項(xiàng)目需要,需對(duì)mapcontrol控件響應(yīng)上下左右鍵,從網(wǎng)上找的方法都一樣,都值提到了需要設(shè)置axMapControl1的KeyIntercept屬性為1,但這樣做的結(jié)果是,除了自己在onkeydown中設(shè)置的平移1/10個(gè)屏幕大小外,系統(tǒng)還會(huì)有一個(gè)默認(rèn)的平移操作。經(jīng)研究發(fā)現(xiàn),設(shè)置axMapControl1的autokeyboardscrolling屬性為false即可屏蔽系統(tǒng)默認(rèn)的對(duì)上下左右鍵的相應(yīng)方法。

axMapControl1.AutoKeyBoardScrolling=false; axMapControl1.KeyIntercept = 1; private void axMapControl1_OnKeyDown(object sender, ESRI.ArcGIS.MapControl.IMapControlEvents2_OnKeyDownEvent e) { switch (e.keyCode) { case (int)System.Windows.Forms.Keys.Up: PanMap(0d, 0.5d); break; case (int)System.Windows.Forms.Keys.Down: PanMap(0d, -0.5d); break; case (int)System.Windows.Forms.Keys.Left: PanMap(-0.5d, 0d); break; case (int)System.Windows.Forms.Keys.Right: PanMap(0.5d, 0d); break; } } private void PanMap(double ratioX, double ratioY) { //Pans map by amount specified given in a fraction of the extent e.g. rationX=0.5, pan right by half a screen IEnvelope envelope = axMapControl1.Extent; double h = envelope.Width; double w = envelope.Height; envelope.Offset(h * ratioX, w * ratioY); axMapControl1.Extent = envelope; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/arxive/p/6262706.html

總結(jié)

以上是生活随笔為你收集整理的ArcEngine中使用上下左右键移动地图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。