رمز Boilerplate للاستماع إلى mouseevents في Google Earth Com API
-
02-10-2019 - |
سؤال
أحاول الحصول على موضع LAT/LON من الماوس في تطبيق Windows Forms باستخدام BrowserControl و Igeplugin. أي شخص لديه أدنى فكرة؟
المحلول
هذا ليس صعبًا جدًا إذا كنت تستخدم WinForms Free Geplugin Control Librar y- فقط اتبع هذه الخطوات البسيطة
تحتاج إلى إخبار كائن متصفح الويب الذي تريد الاستماع إليه لأحداث Mousemove
geWebBrowser.AddEventListener(gePlugin.getGlobe(), "mousemove");
ثم تحتاج إلى إعداد بعض معالجات الأحداث. يجب أن يكون الكود أدناه سهل القراءة. يمكنك تحديد Lat / طويل من مؤشر الماوس من حجة mouseevent في طريقة DomouseMove
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)
{
}
لا تنتمي إلى StackOverflow