2010-07-02 2 views
2

Я пытаюсь получить LAT/LON положение мыши в приложении Windows Forms с помощью браузера и IGEPlugin. Кто-нибудь понял?Код котла для прослушивания MouseEvents в API Google Earth API

+0

См. Эту библиотеку элементов управления, упомянутых ниже, с примерами этого. http://code.google.com/p/winforms-geplugin-control-library/ – Fraser

ответ

2

Это не так уж сложно, если вы используете бесплатную Winforms Geplugin librar управления y- просто следовать этим простым шагам

Вы должны сообщить объекту веб-браузер, который вы хотите слушать MouseMove событий

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

Затем вам нужно настроить некоторые обработчики событий. Код ниже должен быть легко читаемым. Вы можете определить лат/длинный указатель мыши из аргумента 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) 
{ 

} 
+0

ссылка на элементы управления: http://code.google.com/p/winforms-geplugin-control-library/ – Fraser

Смежные вопросы