ThinkGeo.com    |     Documentation    |     Premium Support

ContextMenu problem

 Since V5 the context menu displays in random area at the top left corner of the map.


Anyone else facing this problem ?


 


                    ...
                    ContextMenu menuOnMap = new ContextMenu("myContextMenu", 280);
                    ContextMenuItem infosItem = new ContextMenuItem("Infos ?");
                    infosItem.Click += new EventHandler<ContextMenuItemClickEventArgs>(infosItem_Click);
                    menuOnMap.MenuItems.Add(infosItem);

                    Map2.ContextMenu = menuOnMap;
                    ...



private void infosItem_Click(object sender, ContextMenuItemClickEventArgs e)
        {
            CloudPopup popup;

            if (!Map2.Popups.Contains("showPositionPopup"))
            {
                popup = new CloudPopup("showPositionPopup");
                popup.AutoPan = true;
                popup.AutoSize = true;
                popup.HasCloseButton = true;
                Map2.Popups.Add(popup);
            }
            else
            {
                popup = (CloudPopup)Map2.Popups["showPositionPopup"];
            }

            popup.ContentHtml = "<b><u>Coordonnées:</b></u>

X = " + e.Location.X.ToString() + "
Y = " + e.Location.Y.ToString() + "";
            popup.Position = e.Location.GetCenterPoint();
            popup.IsVisible = true;
        }



Gautier, 
  
 I think change your code like this could solve your problem. 
  
 if (!Map2.Popups.Contains("showPositionPopup")) 
             { 
                 popup = new CloudPopup("showPositionPopup"); 
                 popup.AutoPan = true; 
                 popup.AutoSize = true; 
 popup.AutoPan = false;  
                 popup.HasCloseButton = true; 
                 Map2.Popups.Add(popup); 
             } 
  
 Regards, 
  
 Don 
  
  


I did not try that but I don’t think it’s going to solve my problem because as I said it’s the context menu that does not display correctly. 
 The popup is good !

Gautier, 
  
 Sorry I misunderstand your question, I did a really simple test with your code yesterday and saw the popup will adjust it’s position when you click near the top left corner of the map. 
  
 I haven’t reproduce the ContextMenu problem, it looks it shows just in correct position I clicked. 
  
 I noticed your map is map2, do you have some other client side effect that? Or could you have a really small sample for recreate it? 
  
 Regards, 
  
 Don

Sorry but it is in a complex application I can't give the code here, however I made a screenshot so you can see what's going on: 



Thank you.



Gautier, 
  
 Your image looks upload fail. 
  
 Could you upload again? 
  
 Regards, 
  
 Don

 Don, it looks that the image is good, maybe you have some restriction that don't allow you to see it:


img263.imageshack.us/img263/4593/20110811173157.png


 



Gautier, 
  
 I think you are right, I still cannot visit the URL you provide. 
  
 Could you please upload that image directly in this topic? 
  
 Regards, 
  
 Don

 



Ok I didn’t managed to put it directly because it was too big ! I managed to compress it to jpeg so it’ should be ok now

Yes, compress it should be a good solution.

that’s what I did ! can’t you see the image this time ?

Thanks Gautier, 
  
 I see that this time. 
  
 I will try to reproduce that first and work for that. 
  
 Does this always appear when you click in map? 
  
 Regards, 
  
 Don

The menu appears each time I do a right click so this is good, only the position is not good. 
 I don’t know why it appears in a random area at the top left corner of the screen…

Some more infos: 
 It occurs in the latest versions of Chrome and IE 
  
 And in firefox the context menu doesn’t appear at all, in the console I can see an error when I make the right click: Erreur d’analyse de la valeur pour « top ». Déclaration abandonnée.

Gautier, 
  
 Thanks for your information, I will look at it. 
  
 And the message should be french? I translate it by Google to "Error analysis of the value for "top". Declaration dropped." 
  
 It looks some JS problem there. 
  
 Regards, 
  
 Don

Hi Gautier, 
  
 Sorry reply so late. 
  
 We did many test in different browsers include IE, Chrome, Opera and cannot succeed reproduce that. 
  
 So I still want to ask how you add the map control, do you added two instances there? I think a simple sample which include how you use the map control and can reproduce that should very helpful. 
  
 Regards, 
  
 Don

In fact in this page I add only 1 map control, I call it Map2 because on an other page I have a Map1 so I didn’t wan’t to make confusion. 
  
 I will try to extract you a simple test case to reproduce the bug but I don’t know if it’s gonna make it in a simple app…

Thanks Gautier