2

browsercontrol と IGEPlugin を使用して、Windows フォーム アプリでマウスの LAT/LON 位置を取得しようとしています。誰でも手がかりを得ましたか?

4

1 に答える 1

2

無料の Winforms Geplugin コントロール ライブラリを使用すれば、これはそれほど難しくありません。次の簡単な手順に従ってください。

mousemove イベントをリッスンすることを Web ブラウザー オブジェクトに伝える必要があります。

 geWebBrowser.AddEventListener(gePlugin.getGlobe(), "mousemove");

次に、いくつかのイベント ハンドラーをセットアップする必要があります。以下のコードは読みやすいはずです。DoMouseMove メソッドの mouseEvent 引数から、マウス カーソルの緯度/経度を判断できます。

geWebBrowser.KmlEvent += GeWebBrowserKmlEvent;


private void GeWebBrowserKmlEvent(object sender, GEEventArgs e)
        {
            // if it is a mouse event
            if (null != sender as IKmlMouseEvent)
            {
                handleKmlMouseEvents((IKmlMouseEvent)sender, e.Data);
            }
            else
            {
                MessageBox.Show(GEHelpers.GetTypeFromRcw(sender));
            }
        }

 private void handleKmlMouseEvents(IKmlMouseEvent mouseEvent, string action)
        {
            string currentTarget = mouseEvent.getCurrentTarget().getType();

            switch (action)
            {
                case "mousemove":
                    {
                        DoMouseMove(mouseEvent);
                        break;
                    }

                case "click":
                    {
                        DoClick(mouseEvent, currentTarget);
                        break;
                    }
                case "mousedown":
                    {
                        DoMouseDown(mouseEvent, currentTarget);
                        break;
                    }
                case "mouseup":
                    {
                        DoMouseUp(mouseEvent);
                        break;
                    }
            }
        }

 private void DoMouseMove(IKmlMouseEvent mouseEvent)
 {

 }
于 2010-07-14T15:54:21.893 に答える