ThinkGeo.com    |     Documentation    |     Premium Support

Layers display order

 


Here is the code i am testing..


-----------------------------



Map1.MapUnit =



GeographyUnit.Meter;GdiPlusRasterLayer Layer1 = new GdiPlusRasterLayer(@"C:\Raster Images\6.png");DrawingExceptionMode.DrawException;double.MaxValue;GdiPlusRasterLayer Layer2 = new GdiPlusRasterLayer(@"C:\Raster Images\7.png");DrawingExceptionMode.DrawException;double.MaxValue;GdiPlusRasterLayer Layer3 = new GdiPlusRasterLayer(@"C:\Raster Images\8.png");DrawingExceptionMode.DrawException;double.MaxValue;GdiPlusRasterLayer Layer4 = new GdiPlusRasterLayer(@"C:\Raster Images\9.png");DrawingExceptionMode.DrawException;double.MaxValue;LayerOverlay Overlay1 = new LayerOverlay();"Layer1", Layer1);"Layer2", Layer2);TileType.SingleTile;LayerOverlay Overlay2 = new LayerOverlay();"Layer3", Layer3);"Layer4", Layer4);TileType.SingleTile;

Map1.Overlays.Remove(


Map1.Overlays.Remove(


Map1.Overlays.Add(


Map1.Overlays.Add(


 


"Image1");"Image2");"Image1", Overlay1);"Image2", Overlay2);

Map1.CurrentExtent =


Map1.Refresh();


new RectangleShape(484857.949507236, 5617332.17532825, 551665.833723545, 5562961.05079556);

-------------------------------


9.png is displayed on top of 8.png which seem to be right. but 6.png is displayed on top of 7.png which seem to be not right. what is the problem here? what is the display order of layers and overlays?



 


 


Layer1.DrawingExceptionMode =


Layer1.UpperThreshold =


 


Layer2.DrawingExceptionMode =


Layer2.UpperThreshold =


 


Layer3.DrawingExceptionMode =


Layer3.UpperThreshold =


 


 


Layer4.DrawingExceptionMode =


Layer4.UpperThreshold =


 


Overlay1.Layers.Add(


Overlay1.Layers.Add(


Overlay1.TileType =


 


Overlay2.Layers.Add(


Overlay2.Layers.Add(


Overlay2.TileType =



 Map1.MapUnit = GeographyUnit.Meter;
            

            GdiPlusRasterLayer Layer1 = new GdiPlusRasterLayer(@"C:\Raster Images\6.png");
            Layer1.DrawingExceptionMode = DrawingExceptionMode.DrawException;
            Layer1.UpperThreshold = double.MaxValue;

            GdiPlusRasterLayer Layer2 = new GdiPlusRasterLayer(@"C:\Raster Images\7.png");
            Layer2.DrawingExceptionMode = DrawingExceptionMode.DrawException;
            Layer2.UpperThreshold = double.MaxValue;

            GdiPlusRasterLayer Layer3 = new GdiPlusRasterLayer(@"C:\Raster Images\8.png");
            Layer3.DrawingExceptionMode = DrawingExceptionMode.DrawException;
            Layer3.UpperThreshold = double.MaxValue;
            
            GdiPlusRasterLayer Layer4 = new GdiPlusRasterLayer(@"C:\Raster Images\9.png");
            Layer4.DrawingExceptionMode = DrawingExceptionMode.DrawException;
            Layer4.UpperThreshold = double.MaxValue;

            LayerOverlay Overlay1 = new LayerOverlay();
            Overlay1.Layers.Add("Layer1", Layer1);
            Overlay1.Layers.Add("Layer2", Layer2);
            Overlay1.TileType = TileType.SingleTile;

            LayerOverlay Overlay2 = new LayerOverlay();
            Overlay2.Layers.Add("Layer3", Layer3);
            Overlay2.Layers.Add("Layer4", Layer4);
            Overlay2.TileType = TileType.SingleTile;

            Map1.Overlays.Remove("Image1");
            Map1.Overlays.Remove("Image2");

            Map1.Overlays.Add("Image1", Overlay1);
            Map1.Overlays.Add("Image2", Overlay2);
            

            Map1.CurrentExtent = new RectangleShape(484857.949507236, 5617332.17532825, 551665.833723545, 5562961.05079556);


            Map1.Refresh(); 


There was a missalignment in the first post. please read from second one. 
  
 9.png is displayed on top of 8.png which seem to be right. but 6.png is displayed on top of 7.png which seem to be not right. what is the problem  
 here? what is the display order of layers and overlays?

Strange! when i swapped 8.png and 9.png with 6.png and 7.png, then it works as expected. not sure whats going on and but seems to be there is a bug …

Hello rajanikanth, 
  
 The display order in one overlay is like you think, who add first who will draw first, if there is no other property like z-index to modify it. 
  
 But if it’s two layers in different overlays, it’s hard to say, depend on what’s the overlay’s type, but in your scenario, it should be 7 cover 6, 9 cover 8 as you expected. 
  
 Could you please provide your sample to us? We can test on it and find out the root cause. 
  
 Regards, 
  
 Gary

Thanks for the response. There is an issue with the image i was using.

Hi Rajanikanth, 
  
 For curiosity, what issue on a image can make the layers to draw out of order? 
  
 Carlos

One of the image has the duplicate pattern which is overriding the original image. It has pettern of its own and other image pattern.

Hello rajanikanth, 
  
 I’m glad it’s working, feel free to let us know your problems. 
  
 Regards, 
  
 Gary