[mapguide-commits] r7505 - branches/maestro-4.0.x/OSGeo.MapGuide.MaestroAPI/Mapping

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon May 20 04:50:44 PDT 2013


Author: jng
Date: 2013-05-20 04:50:43 -0700 (Mon, 20 May 2013)
New Revision: 7505

Modified:
   branches/maestro-4.0.x/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs
Log:
#2233: Fix for drawing layers too.

Modified: branches/maestro-4.0.x/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs
===================================================================
--- branches/maestro-4.0.x/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs	2013-05-20 11:24:39 UTC (rev 7504)
+++ branches/maestro-4.0.x/OSGeo.MapGuide.MaestroAPI/Mapping/RuntimeMapLayer.cs	2013-05-20 11:50:43 UTC (rev 7505)
@@ -138,6 +138,13 @@
                 _featureSourceId = rl.ResourceId;
                 InitScaleRanges(rl);
             }
+            else if (ldf.SubLayer.LayerType == LayerType.Drawing)
+            {
+                var dl = ((IDrawingLayerDefinition)ldf.SubLayer);
+                _featureSourceId = dl.ResourceId;
+                _scaleRanges = new double[] { dl.MinScale, dl.MaxScale };
+                EnsureOrderedMinMaxScales();
+            }
 
             _expandInLegend = false;
             this.Name = ResourceIdentifier.GetName(ldf.ResourceID);
@@ -231,6 +238,14 @@
             {
                 case LayerType.Drawing:
                     {
+                        IDrawingLayerDefinition dl = (IDrawingLayerDefinition)ldf.SubLayer;
+                        _featureSourceId = dl.ResourceId;
+                        _scaleRanges = new double[] 
+                        {
+                            dl.MinScale,
+                            dl.MaxScale
+                        };
+                        EnsureOrderedMinMaxScales();
                     }
                     break;
                 case LayerType.Raster:
@@ -240,17 +255,7 @@
                         _geometryPropertyName = rdf.Geometry;
                         _qualifiedClassName = rdf.FeatureName;
 
-                        if (rdf.GridScaleRangeCount > 0)
-                        {
-                            _scaleRanges = new double[rdf.GridScaleRangeCount * 2];
-                            int i = 0;
-                            foreach (var gsr in rdf.GridScaleRange)
-                            {
-                                _scaleRanges[i * 2] = gsr.MinScale.HasValue ? gsr.MinScale.Value : 0;
-                                _scaleRanges[i * 2 + 1] = gsr.MaxScale.HasValue ? gsr.MaxScale.Value : InfinityScale;
-                                i++;
-                            }
-                        }
+                        InitScaleRanges(rdf);
                     }
                     break;
                 case LayerType.Vector:
@@ -261,17 +266,7 @@
                         _qualifiedClassName = vld.FeatureName;
                         _filter = vld.Filter;
 
-                        if (vld.HasVectorScaleRanges())
-                        {
-                            int vsrCount = vld.GetScaleRangeCount();
-                            _scaleRanges = new double[vsrCount * 2];
-                            for (int i = 0; i < vsrCount; i++)
-                            {
-                                var vsr = vld.GetScaleRangeAt(i);
-                                _scaleRanges[i * 2] = vsr.MinScale.HasValue ? vsr.MinScale.Value : 0;
-                                _scaleRanges[i * 2 + 1] = vsr.MaxScale.HasValue ? vsr.MaxScale.Value : InfinityScale;
-                            }
-                        }
+                        InitScaleRanges(vld);
                         _hasTooltips = !string.IsNullOrEmpty(vld.ToolTip);
                         //get identity property information
                         InitIdentityProperties(vld);



More information about the mapguide-commits mailing list