ThinkGeo.com    |     Documentation    |     Premium Support

Marker popup z-index issue

Hi guys,


I'm having an issue with the marker popups. When you hover over a marker and if there is another marker on the map where the popup of the hovered marker is displayed, then the latter marker appears above the popup. So the sequence in which the markers are added to the overlay affects the popups as well. I was wondering if it would be possible to display the popups above everything else regardless of the sequence in which the markers were added to the overlay. 


Thanks for your help,


Nirish



Nirish,



I'm very sorry but I need to say this issue does exist in our SilverlightEdtion product; Marker and GeoPpup also are control, and we add the popup control into marker control container, so whatever you modify the z-index property of popup, the popup control is always under the marker.  Here is workaround for you temporary, you could add MouseEnter and  MouseLeave event to marker and add popup for the marker in the event handler manually, the code likes below:




void marker1_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e) {
            popup.Visibility = Visibility.Collapsed;
        }

        void marker1_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e) {
            popup = new GeoPopup(-94.558, 38.078);
            PointShape screenPoint = Map1.ToScreenCoordinate(popup.Position);
            popup.SetValue(Canvas.LeftProperty, screenPoint.X);
            popup.SetValue(Canvas.TopProperty, screenPoint.Y);
            popup.SetValue(Canvas.ZIndexProperty, 2000);
            popup.Content = "hahahah";
            Map1.Children.Add(popup);
            popup.Visibility = Visibility.Visible;
        }



Thanks,



Johnny



Has there been a permanent fix for this issue yet?  Specifically, I’m having the same issue with static popups, so the ‘MouseEnter/Leave’ fix doesn’t really work.

Hi, Dustin 
  
 We have fixed the bug that Nirish had mentioned in this post in the last release on May 1th of this year.  
 Do you mean that the bug still occurs when you just dump the popups into Map1.Popups or Map1.Childrens? 
  
 If so, you could set the ZIndexProperty of Popup control to overcome the problem. 
  
 Thanks, 
  
 Khalil

Hi Khalil,


When adding popups to Map1.Popups the Marker's Zindex is higher than the Popup layer.  I have not been able to figure out how to set the ZIndex of the popup, because neither the GeoPopup nor the Canvas control that I have as the content have a ZIndex property. 


-Dustin



Hi, Dustin 
  
 Sorry to make you confused. I mean you could set the zIndexProperty like the code below: 
  
             popup.SetValue(Canvas.ZIndexProperty, 1000); 
  
 If you still have this problems please send us the demo sample you are consuming and so that we could address it quickly. 
  
 Thanks, 
  
 Khalil

Khalil, 
 That seems to work just great on the static popups. The hover popups don’t seem to work as such, though. How would one go about changing the z-index for those?  Is the mouse event still needed? 
 -Dustin

Dustin, 
  
 If you are using hover popups and add marker at run time, and so this problem still will occur. 
 I guess you still need to use the mouse events, but don’t add popup to Map control like the code  “Map1.Children.Add(popup)”, and add popup to Map1.Popups collection. 
  
 Thanks, 
 Khalil

Alright, that’s a little disappointing.  Thanks a lot, though, Khalil!

Dustin, 
  
 Sorry for the inconvenience caused to you. If you still have any questions about that please feel free to let us know. 
  
 Thanks, 
  
 Khalil