# Mouse events and tooltip on overlay element not working

**URL:** <https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867>\
**Category:** Silverlight\
**Created:** [June 11, 2010, 6:33am UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867 "2010-06-11T06:33:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Krithika](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/k/90ced4/32.png) [@Krithika](https://community.thinkgeo.com/u/Krithika)\
**Post date:** [June 11, 2010, 6:33am UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/1 "2010-06-11T06:33:22Z")

</div>

Hi&nbsp;Team,

We&nbsp;are&nbsp;using&nbsp;mapsuite&nbsp;silverlight&nbsp;edition&nbsp;3.0&nbsp;for&nbsp;our&nbsp;development&nbsp;and&nbsp;need&nbsp;your&nbsp;help.

LayerOverlay

&nbsp;Overlay&nbsp;=&nbsp;new&nbsp;LayerOverlay();

Overlay.OverlayElement.MouseEnter&nbsp;+=

&nbsp;

Overlay.OverlayElement.AttachRightClick(ClickCamera);

new&nbsp;MouseEventHandler(OverlayElement\_MouseEnter);ToolTipService.SetToolTip(Overlay.OverlayElement,&nbsp;"hhjg");

All&nbsp;the&nbsp;above&nbsp;events&nbsp;on&nbsp;the&nbsp;overlay&nbsp;element&nbsp;is&nbsp;not&nbsp;firing.&nbsp;If&nbsp;this&nbsp;is&nbsp;not&nbsp;the&nbsp;right&nbsp;way&nbsp;then&nbsp;how&nbsp;can&nbsp;we&nbsp;add&nbsp;mouse&nbsp;events,&nbsp;right&nbsp;click&nbsp;event&nbsp;and&nbsp;tooltip&nbsp;set&nbsp;for&nbsp;a&nbsp;feature&nbsp;element&nbsp;added&nbsp;to&nbsp;a&nbsp;overlay?&nbsp;While&nbsp;evaluating&nbsp;the&nbsp;mapsuite&nbsp;version&nbsp;we&nbsp;tried&nbsp;using&nbsp;these&nbsp;events&nbsp;on&nbsp;a&nbsp;simplemarkeroverlay&nbsp;and&nbsp;these&nbsp;events&nbsp;worked&nbsp;fine.&nbsp;Now&nbsp;we&nbsp;are&nbsp;using&nbsp;layeroverlay&nbsp;for&nbsp;keeping&nbsp;things&nbsp;generic&nbsp;and&nbsp;to&nbsp;use&nbsp;value&nbsp;style.&nbsp;Please&nbsp;get&nbsp;back&nbsp;to&nbsp;us&nbsp;on&nbsp;this&nbsp;asap.&nbsp;&nbsp;

Thanks,

Krithika

---

<div class="post-metadata">

**Author:** ![Val](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/v/e56c9b/32.png) [@Val](https://community.thinkgeo.com/u/Val)\
**Post date:** [June 15, 2010, 11:19am UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/2 "2010-06-15T11:19:45Z")

</div>

I&nbsp;see&nbsp;that&nbsp;you&nbsp;have&nbsp;another&nbsp;post&nbsp;on&nbsp;SilverLight&nbsp;"Stretching&nbsp;Map&nbsp;Control&nbsp;nor&nbsp;working".&nbsp;On&nbsp;this&nbsp;one,&nbsp;I&nbsp;am&nbsp;going&nbsp;to&nbsp;ask&nbsp;you&nbsp;the&nbsp;same&nbsp;thing.&nbsp;Can&nbsp;you&nbsp;please&nbsp;send&nbsp;us&nbsp;a&nbsp;little&nbsp;sample&nbsp;app&nbsp;so&nbsp;that&nbsp;we&nbsp;can&nbsp;see&nbsp;the&nbsp;problem&nbsp;happening&nbsp;and&nbsp;we&nbsp;will&nbsp;look&nbsp;at&nbsp;it&nbsp;to&nbsp;fix&nbsp;i?&nbsp;Thank&nbsp;you.

---

<div class="post-metadata">

**Author:** ![Krithika](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/k/90ced4/32.png) [@Krithika](https://community.thinkgeo.com/u/Krithika)\
**Post date:** [June 16, 2010, 4:20am UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/3 "2010-06-16T04:20:02Z")

</div>

Hi&nbsp;Val,&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks&nbsp;for&nbsp;supporting&nbsp;us.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Currently&nbsp;in&nbsp;our&nbsp;project&nbsp;we&nbsp;are&nbsp;handling&nbsp;the&nbsp;mouse&nbsp;event&nbsp;on&nbsp;a&nbsp;feature&nbsp;re&nbsp;in&nbsp;the&nbsp;following&nbsp;way:&nbsp;  
&nbsp;1.&nbsp;Attach&nbsp;any&nbsp;mouse&nbsp;event&nbsp;on&nbsp;the&nbsp;map.&nbsp;  
&nbsp;2.&nbsp;On&nbsp;event&nbsp;firing,&nbsp;check&nbsp;if&nbsp;the&nbsp;mouse&nbsp;event&nbsp;happened&nbsp;on&nbsp;the&nbsp;map&nbsp;where&nbsp;a&nbsp;feature&nbsp;exists&nbsp;and&nbsp;get&nbsp;that&nbsp;particular&nbsp;feature&nbsp;object.&nbsp;  
&nbsp;&nbsp;  
&nbsp;In&nbsp;this&nbsp;approach&nbsp;we&nbsp;are&nbsp;not&nbsp;able&nbsp;to&nbsp;get&nbsp;the&nbsp;overlay&nbsp;or&nbsp;layer&nbsp;object&nbsp;on&nbsp;which&nbsp;the&nbsp;mouse&nbsp;event&nbsp;was&nbsp;fired.&nbsp;  
&nbsp;&nbsp;  
&nbsp;We&nbsp;want&nbsp;to&nbsp;handle&nbsp;these&nbsp;mouse&nbsp;events&nbsp;seperately&nbsp;for&nbsp;each&nbsp;overlay&nbsp;element&nbsp;(instead&nbsp;of&nbsp;adding&nbsp;it&nbsp;directly&nbsp;on&nbsp;the&nbsp;map)&nbsp;added&nbsp;to&nbsp;the&nbsp;overlay.&nbsp;  
&nbsp;This&nbsp;event&nbsp;is&nbsp;existing&nbsp;but&nbsp;is&nbsp;not&nbsp;being&nbsp;fired&nbsp;based&nbsp;on&nbsp;the&nbsp;mouse&nbsp;operations.&nbsp;  
&nbsp;Note:&nbsp;In&nbsp;our&nbsp;application&nbsp;every&nbsp;feature&nbsp;exists&nbsp;in&nbsp;a&nbsp;layer&nbsp;overlay.&nbsp;&nbsp; **&nbsp;** &nbsp;  
&nbsp;&nbsp;  
&nbsp;Ex:&nbsp;  
&nbsp;`LayerOverlay Overlay = new LayerOverlay();Overlay.OverlayElement.MouseEnter += new MouseEventHandler(OverlayElement_MouseEnter); `&nbsp;  
&nbsp;&nbsp;  
&nbsp;We&nbsp;shall&nbsp;try&nbsp;to&nbsp;send&nbsp;a&nbsp;sample&nbsp;application&nbsp;through&nbsp;the&nbsp;[support@thinkgeo.com](mailto:support@thinkgeo.com).&nbsp;Meanwhile&nbsp;you&nbsp;can&nbsp;have&nbsp;a&nbsp;look&nbsp;at&nbsp;this&nbsp;mail&nbsp;to&nbsp;see&nbsp;if&nbsp;you&nbsp;can&nbsp;get&nbsp;any&nbsp;clues.&nbsp;Or&nbsp;it&nbsp;would&nbsp;be&nbsp;great&nbsp;if&nbsp;you&nbsp;can&nbsp;try&nbsp;what&nbsp;i&nbsp;mentioned&nbsp;here.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Can&nbsp;we&nbsp;have&nbsp;a&nbsp;call&nbsp;to&nbsp;discuss&nbsp;the&nbsp;problems&nbsp;we&nbsp;are&nbsp;facing&nbsp;as&nbsp;we&nbsp;are&nbsp;in&nbsp;tough&nbsp;project&nbsp;deadlines?&nbsp;We&nbsp;are&nbsp;in&nbsp;GMT&nbsp;+&nbsp;5:30&nbsp;time.&nbsp;  
&nbsp;&nbsp;  
&nbsp;Thanks,&nbsp;  
&nbsp;Krithika

---

<div class="post-metadata">

**Author:** ![Val](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/v/e56c9b/32.png) [@Val](https://community.thinkgeo.com/u/Val)\
**Post date:** [June 16, 2010, 10:27am UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/4 "2010-06-16T10:27:26Z")

</div>

Thank&nbsp;you&nbsp;for&nbsp;your&nbsp;additional&nbsp;explanations.&nbsp;I&nbsp;will&nbsp;have&nbsp;the&nbsp;SilverLight&nbsp;team&nbsp;work&nbsp;directly&nbsp;on&nbsp;your&nbsp;case&nbsp;this&nbsp;afternoon.&nbsp;So&nbsp;you&nbsp;should&nbsp;have&nbsp;the&nbsp;solution&nbsp;at&nbsp;the&nbsp;latest&nbsp;tomorrow&nbsp;morning.&nbsp;Of&nbsp;course,&nbsp;if&nbsp;you&nbsp;can&nbsp;send&nbsp;a&nbsp;sample&nbsp;application&nbsp;that&nbsp;will&nbsp;help.&nbsp;If&nbsp;you&nbsp;still&nbsp;have&nbsp;problems,&nbsp;we&nbsp;can&nbsp;arrange&nbsp;a&nbsp;phone&nbsp;call.

---

<div class="post-metadata">

**Author:** ![Howard](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/h/90ced4/32.png) [@Howard](https://community.thinkgeo.com/u/Howard)\
**Post date:** [June 16, 2010, 9:46pm UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/5 "2010-06-16T21:46:11Z")

</div>

Hi&nbsp;Krithika,  
  
  
  
From&nbsp;your&nbsp;description,&nbsp;I&nbsp;guess&nbsp;you&nbsp;want&nbsp;to&nbsp;implement&nbsp;the&nbsp;tooltips&nbsp;on&nbsp;LayerOverlay.&nbsp;Your&nbsp;idea&nbsp;is&nbsp;pretty&nbsp;good&nbsp;but&nbsp;in&nbsp;Silverlight&nbsp;Edition,&nbsp;it’s&nbsp;not&nbsp;the&nbsp;way&nbsp;to&nbsp;do&nbsp;that.  
  
  
  
Let’s&nbsp;say&nbsp;Silverlight&nbsp;map&nbsp;is&nbsp;formed&nbsp;with&nbsp;several&nbsp;overlays&nbsp;such&nbsp;as&nbsp;LayerOverlay,&nbsp;MarkerOverlay&nbsp;and&nbsp;ServerLayerOverlay.&nbsp;Every&nbsp;overlay&nbsp;has&nbsp;an&nbsp;order&nbsp;which&nbsp;is&nbsp;Z-Index&nbsp;in&nbsp;the&nbsp;DOM&nbsp;tree.  
  
  
  
In&nbsp;your&nbsp;code,&nbsp;you&nbsp;set&nbsp;the&nbsp;mouse&nbsp;event&nbsp;on&nbsp;one&nbsp;overlay&nbsp;but&nbsp;it&nbsp;may&nbsp;be&nbsp;blocked&nbsp;by&nbsp;another&nbsp;canvas&nbsp;which&nbsp;has&nbsp;higher&nbsp;Z-Index&nbsp;on&nbsp;the&nbsp;map,&nbsp;so&nbsp;the&nbsp;event&nbsp;might&nbsp;not&nbsp;be&nbsp;raised.  
  
  
  
Normally,&nbsp;to&nbsp;implement&nbsp;this&nbsp;feature,&nbsp;we&nbsp;usually&nbsp;find&nbsp;the&nbsp;mouse&nbsp;position&nbsp;and&nbsp;convert&nbsp;to&nbsp;the&nbsp;world&nbsp;coordinate&nbsp;in&nbsp;the&nbsp;mouse&nbsp;move&nbsp;event&nbsp;on&nbsp;the&nbsp;map;&nbsp;then&nbsp;use&nbsp;query&nbsp;tool&nbsp;to&nbsp;find&nbsp;the&nbsp;features&nbsp;which&nbsp;are&nbsp;containing&nbsp;the&nbsp;mouse&nbsp;world&nbsp;coordinates;&nbsp;then&nbsp;add&nbsp;a&nbsp;popup&nbsp;to&nbsp;represent&nbsp;the&nbsp;tooltip&nbsp;contents.  
  
  
  
Here&nbsp;attaches&nbsp;a&nbsp;demo&nbsp;for&nbsp;you;&nbsp;hope&nbsp;it&nbsp;helps.  
  
  
  
Please&nbsp;let&nbsp;me&nbsp;know&nbsp;if&nbsp;you&nbsp;have&nbsp;any&nbsp;queries.  
  
  
  
Thanks,&nbsp;  
  
Howard&nbsp;  
  
&nbsp;

[FeatureInfo.zip](https://community.thinkgeo.com/uploads/default/original/2X/e/e6391d939eeb16f75b0d9d521663776e285c47d6.zip) (18.6 KB)

---

<div class="post-metadata">

**Author:** ![Krithika](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/k/90ced4/32.png) [@Krithika](https://community.thinkgeo.com/u/Krithika)\
**Post date:** [June 16, 2010, 10:00pm UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/6 "2010-06-16T22:00:32Z")

</div>

Hi,

&nbsp;

Thanks&nbsp;for&nbsp;your&nbsp;reply.

We&nbsp;are&nbsp;also&nbsp;doing&nbsp;things&nbsp;the&nbsp;similar&nbsp;way&nbsp;as&nbsp;you&nbsp;had&nbsp;explained.&nbsp;But&nbsp;in&nbsp;your&nbsp;sample&nbsp;you&nbsp;have&nbsp;only&nbsp;one&nbsp;overlay&nbsp;and&nbsp;so&nbsp;you&nbsp;know&nbsp;which&nbsp;overlay&nbsp;to&nbsp;query&nbsp;for&nbsp;the&nbsp;feature.&nbsp;But&nbsp;in&nbsp;our&nbsp;application&nbsp;there&nbsp;are&nbsp;many&nbsp;overlays&nbsp;and&nbsp;many&nbsp;features&nbsp;in&nbsp;each&nbsp;overlay.&nbsp;Is&nbsp;there&nbsp;any&nbsp;way&nbsp;to&nbsp;know&nbsp;on&nbsp;which&nbsp;overlay&nbsp;the&nbsp;event&nbsp;was&nbsp;fired.

This&nbsp;would&nbsp;be&nbsp;of&nbsp;great&nbsp;help!!

Thanks,

Krithika

---

<div class="post-metadata">

**Author:** ![Howard](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/h/90ced4/32.png) [@Howard](https://community.thinkgeo.com/u/Howard)\
**Post date:** [June 17, 2010, 12:35am UTC](https://community.thinkgeo.com/t/mouse-events-and-tooltip-on-overlay-element-not-working/6867/7 "2010-06-17T00:35:06Z")

</div>

Hi&nbsp;Krithika,  
  
  
  
Currently,&nbsp;we&nbsp;don't&nbsp;know&nbsp;which&nbsp;overlay&nbsp;or&nbsp;layer&nbsp;is&nbsp;fired&nbsp;on&nbsp;the&nbsp;event.&nbsp;But&nbsp;we&nbsp;can&nbsp;simply&nbsp;loop&nbsp;the&nbsp;overlays&nbsp;and&nbsp;layers&nbsp;in&nbsp;the&nbsp;map&nbsp;and&nbsp;find&nbsp;the&nbsp;first&nbsp;feature&nbsp;we&nbsp;looped&nbsp;and&nbsp;then&nbsp;raise&nbsp;the&nbsp;event.&nbsp;This&nbsp;event&nbsp;is&nbsp;not&nbsp;actually&nbsp;on&nbsp;the&nbsp;overlay&nbsp;or&nbsp;layer.&nbsp;It’s&nbsp;a&nbsp;general&nbsp;event&nbsp;on&nbsp;the&nbsp;map.&nbsp;  
  
  
  
Please&nbsp;consider&nbsp;one&nbsp;scenario,&nbsp;when&nbsp;you&nbsp;have&nbsp;several&nbsp;overlays,&nbsp;then&nbsp;mouse&nbsp;hovers&nbsp;on&nbsp;the&nbsp;map.&nbsp;One&nbsp;mouse&nbsp;coordinate&nbsp;may&nbsp;be&nbsp;contained&nbsp;by&nbsp;many&nbsp;features&nbsp;in&nbsp;different&nbsp;overlay.&nbsp;The&nbsp;code&nbsp;below&nbsp;is&nbsp;a&nbsp;rewrote&nbsp;method&nbsp;in&nbsp;my&nbsp;attached&nbsp;sample&nbsp;above&nbsp;which&nbsp;helps&nbsp;to&nbsp;find&nbsp;features&nbsp;that&nbsp;are&nbsp;containing&nbsp;the&nbsp;mouse&nbsp;coordinates;&nbsp;please&nbsp;replace&nbsp;the&nbsp;old&nbsp;one.&nbsp;  
  
`private void hoverTimer_Tick(object sender, System.EventArgs e){    Collection<Feature> queriedFeatures = new Collection<Feature>();    // Loop all the overlays.    foreach (Overlay overlay in Map1.Overlays)    {        // Find LayerOverlays in the map.        LayerOverlay layerOverlay = overlay as LayerOverlay;        if (layerOverlay != null)        {            // Loop all the layers and get all the FeatureLayers.            foreach (Layer layer in layerOverlay.Layers)            {                FeatureLayer featureLayer = layer as FeatureLayer;                if (featureLayer != null)                {                    // Query feature layers and get the features which are containing the mouse world coordinate.                    featureLayer.Open();                    Collection<Feature> features = featureLayer.QueryTools.GetFeaturesContaining(mouseWorldPosition, ReturningColumnsType.AllColumns);                    featureLayer.Close();                    foreach (Feature feature in features)                    {                        // Consider your scenario;                        // We can collect all features which are containing the mouse world coordinate;                        // or we can break here and only get the latest one.                        queriedFeatures.Add(feature);                    }                }            }        }    }    if (queriedFeatures.Count > 0)    {        if (Map1.Popups.Count != 0) { Map1.Popups.Clear(); }        Feature feature = queriedFeatures[0];        string content = String.Format(CultureInfo.InvariantCulture, "Tips:{0}", feature.ColumnValues["Tips"]);        GeoPopup popup = GetPopup(content, mouseWorldPosition);        Map1.Popups.Add(popup);    }    else if (Map1.Popups.Count != 0) { Map1.Popups.Clear(); }    hoverTimer.Stop();}`  
Please&nbsp;feel&nbsp;free&nbsp;to&nbsp;modify&nbsp;it&nbsp;to&nbsp;meet&nbsp;your&nbsp;requirement&nbsp;and&nbsp;let&nbsp;me&nbsp;know&nbsp;how&nbsp;it&nbsp;works.  
  
  
  
Thanks,  
  
Howard
