我正在尝试使用BrowserControl和Igeplugin在Windows表单应用中获得鼠标的LAT/LON位置。有人知道吗?

有帮助吗?

解决方案

如果您使用免费的winforms geplugin控制库y-只需按照以下简单的步骤

您需要告诉Web浏览器对象您想收听Mousemove事件

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

然后,您需要设置一些事件处理程序。下面的代码应该易于阅读。您可以从domousemove方法中的mouseevent参数确定鼠标光标的lat / long / long

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)
 {

 }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top