我正在尝试使用 browsercontrol 和 IGEPlugin 在 Windows 窗体应用程序中获取鼠标的 LAT/LON 位置。有人有线索吗?
问问题
785 次
1 回答
2
如果您使用免费的 Winforms Geplugin 控件库,这并不太难 - 只需按照这些简单的步骤
您需要告诉 Web 浏览器对象您要监听 mousemove 事件
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 回答