ThinkGeo.com    |     Documentation    |     Premium Support

Adding Image Before Name in Overlay Switcher

Hello


I am trying to add a symbol of the layer in the built-in Overlay switcher.


I used this code :


 



var PipelineOverlay = new LayerOverlay("AB Adjusted Pipelines FEB", false, TileType.MultipleTile);
PipelineOverlay.Name = @"<IMG SRC='RED.png' ALT='Blue'>" + "  AB Adjusted Pipelines FEB";

This display the symbol image well. However, this messes up layer switcher's checkbox. As long as the checkbox is checked one cannot access layer using:



var LayerOverlay = (LayerOverlay) Map1.CustomOverlays["AB Adjusted Pipelines FEB"];

Please tell me what is wrong


Thanks


Vivek


 


 



Hello Vivek,


Thanks for your post, actually this is a very interesting idea to add the image to the name, I did some test on this, looks like it's working fine on my side, could you please give me a simple that can recreate your problem?



        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#E5E3DF"));
                Map1.CurrentExtent = new RectangleShape(-125, 72, 50, -46);
                Map1.MapUnit = GeographyUnit.DecimalDegree;

                Map1.MapTools.OverlaySwitcher.Enabled = true;

                WorldMapKitWmsWebOverlay worldMapKitOverlay = new WorldMapKitWmsWebOverlay("AB Adjusted Pipelines FEB");
                worldMapKitOverlay.IsBaseOverlay = false;
                worldMapKitOverlay.Name = @"<IMG SRC='gis.thinkgeo.com/DesktopModules/ActiveForums/themes/thinkgeo/default_avatar.png' ALT='Blue'>" + "  AB Adjusted Pipelines FEB";
                Map1.CustomOverlays.Add(worldMapKitOverlay);


                ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(MapPath("~/SampleData/world/cntry02.shp"));
                worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
                worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.SimpleColors.Transparent, GeoColor.FromArgb(100, GeoColor.SimpleColors.Green));

                LayerOverlay staticOverlay = new LayerOverlay();
                staticOverlay.Layers.Add(worldLayer);
                Map1.CustomOverlays.Add(staticOverlay);
            }
        }

Regards,


Gary



Hi Gary


Thanks for your reply.


I do not have problem in adding an image file to the layer name.


I found that after adding the image, one cannot invoke a Map click event.


I have attached a sample to recreate the problem.


If you turn off the AB Adjusted Pipelines layer, the click event works fine.


Moreover, if you remove the image in the layer name, the click event works fine too.


Please see and let me know if you can recreate the problem.


Thanks


Vivek


 


 


 


 


 


 



LayerNameTest.zip (3.6 KB)

 Hi Vivek,


I have tested your sample, it throw error said couldn't found "resizeStuff", so I comment out code below and then everything is working, the click event raise properly.


 #region IsPostBack
            //if (Page.IsPostBack)
            //{
            //    ScriptManager.RegisterStartupScript(this, this.GetType(), " resizeStuff", " resizeStuff();", true);
            //    string ctrlname = Page.Request.Params.Get("__EVENTTARGET");

            //}
            #endregion

Could you let me know which version of WebEdition you using?


Thanks,


James



Hi James


I am using Webedition 5.5.0.0.


Thanks


Vivek



Vivek, 
  
 I use the latest version, you can get the latest version and try it again, just reminder you that you need to comment out that code which I mentioned. 
  
 Thanks, 
 James

Thanks James.


I tried with the latest version 6.0.3.0 or evaluation version 6.0.4.0.


I also removed any javascript and commented the aforementioned portion.


However, I got the same problem; on mouse click the click event is not firing.


The event is firing after removing the image tag with the layer name.


 


Thanks


Vivek


 



Vivek, 
  
 You reminder me, when I clear the cache, I could reproduce your problem. 
  
 And I have added this issue to our working tracking system, normally, it will be fixed in next week, and then you could get it from custom portal, and I will let you know the version number. 
  
 Thanks, 
 James

Thanks James



Hello Vivek, 
  
 You are welcome, please feel free to let us know your questions. 
  
 Regards, 
  
 Gary

 Vivek,


After deep research, we found it's not a real bug, when you want to apply html to name, you should use code like below:



Please see attached text.

Thanks,


James



post103021.txt (118 Bytes)

Hi James


Sorry, I did not check the post for long.


However, I am unable to get the image with the code that has been posted.


@"&lt;IMG SRC='gis.thinkgeo.com/DesktopModules/ActiveForums/themes/thinkgeo/default_avatar.png' ALT='Blue'&gt;"


It displays the above statement in the text format.


Thanks


Vivek