用于在Google Earth COM API中收听MouseEvents的样板代码
问题描述:
我试图使用browsercontrol和IGEPlugin获取Windows窗体应用程序中鼠标的LAT/LON位置。 任何人都有线索?用于在Google Earth COM API中收听MouseEvents的样板代码
答
这不是如果您使用免费的WinForms Geplugin控制librar Y-只要按照这些简单的步骤
你需要告诉你要监听mousemove事件时
geWebBrowser.AddEventListener(gePlugin.getGlobe(), "mousemove");
web浏览器对象太难
然后你需要设置一些事件处理程序。下面的代码应该很容易阅读。您可以通过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)
{
}
+0
指向控件的链接:http://code.google.com/p/winforms-geplugin-control-library/ – Fraser 2010-07-16 15:28:46
请参阅下面提到的此控件库,该控件库具有此示例。 http://code.google.com/p/winforms-geplugin-control-library/ – Fraser 2010-07-16 15:30:17