ThinkGeo.com    |     Documentation    |     Premium Support

Use ZoomLevel to control layer visbility. HOW?

 


Hi there,


Could someone give me a code example or explain how I can setup the zoom level to restrict a layer is only visible when I zoom in to certain zoom level?Also, how to setup a layer to be invisible after I zoom in a definded zoom level?


Example of this is:


Local stree layer is only visible from zoom level 11 to 20.


Highways are visible from zoom level 1 to 10, and is invisible from 11 to 20.


Parcels are visible when from zoom level 15 to 20.


Many thx.


Mike



Hello Mike, 



Please try this sample below, I hope it can help, and pay more attention in comments, that will help you more: 


wpfMap1.MapUnit = GeographyUnit.DecimalDegree;

            ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"..\..\SampleData\Data\Countries02.shp");
            // ZoomLevel02 means this layer are visible when from zoom level 2, like your Parcels, so for Local street layer and Highways you can set to ZoomLevel01
            worldLayer.ZoomLevelSet.ZoomLevel02.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.SimpleColors.Transparent, GeoColor.FromArgb(100, GeoColor.SimpleColors.Green));
            // level05 means visible from 02 to 05
            worldLayer.ZoomLevelSet.ZoomLevel02.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level05;

            LayerOverlay layerOverlay = new LayerOverlay();
            layerOverlay.TransitionEffect = TransitionEffect.None;
            layerOverlay.Layers.Add("WorldLayer", worldLayer);
            wpfMap1.Overlays.Add("WorldOverlay", layerOverlay);

            wpfMap1.CurrentExtent = new RectangleShape(-133.2515625, 89.2484375, 126.9046875, -88.290625);
            wpfMap1.Refresh();



Regards, 



Gary