ThinkGeo.com    |     Documentation    |     Premium Support

WorldMapKitRenderLayer Error with ThinkGEO 9.0

Since upgrading to ThinkGeo 9.0, I am now receiving the following error occasionally when rendering the World Map. The function that is failing is: WorldMapKitRenderLayer - protected override void DrawCore(GeoCanvas canvas, Collection<SimpleCandidate> labelsInAllLayers)



This is the older World Map Kit that came on 2 DVDs. This error does not happen with ThinkGEO 8.0. Please advise. Thank you.



System.ArgumentOutOfRangeException was unhandled by user code

  HResult=-2146233086

  Message=The input double value is out of range.

Parameter name: maxX

  Source=MapSuiteCore

  ParamName=maxX

  StackTrace:

       at xRM=.NSs=.Vis=(Double inputValue, String parameterName, Double minValue, LEQ= includeMinValue, Double maxValue, LEQ= includeMaxValue)

       at xRM=.NSs=.Vys=(Double inputValue, String parameterName, Double minValue, LEQ= includeMinValue)

       at ThinkGeo.MapSuite.Core.RectangleShape…ctor(Double minX, Double maxY, Double maxX, Double minY)

       at ThinkGeo.MapSuite.Core.PositionStyle.FilterFeaturesCore(IEnumerable`1 features, GeoCanvas canvas)

       at ThinkGeo.MapSuite.Core.PositionStyle.FilterFeatures(IEnumerable`1 features, GeoCanvas canvas)

       at ThinkGeo.MapSuite.Core.IconStyle.DrawCore(IEnumerable`1 features, GeoCanvas canvas, Collection`1 labelsInThisLayer, Collection`1 labelsInAllLayers)

       at ThinkGeo.MapSuite.Core.Style.Draw(IEnumerable`1 features, GeoCanvas canvas, Collection`1 labelsInThisLayer, Collection`1 labelsInAllLayers)

       at ThinkGeo.MapSuite.Core.ZoomLevel.DrawCore(GeoCanvas canvas, IEnumerable`1 features, Collection`1 currentLayerLabels, Collection`1 allLayerLabels)

       at ThinkGeo.MapSuite.Core.ZoomLevel.Draw(GeoCanvas canvas, IEnumerable`1 features, Collection`1 currentLayerLabels, Collection`1 allLayerLabels)

       at ThinkGeo.MapSuite.Core.ShapeFileFeatureLayer.5BU=(GeoCanvas canvas, Collection`1 labelsInAllLayers, ZoomLevel currentZoomLevel, Collection`1 columnNames, RectangleShape marginWorldExtent)

       at ThinkGeo.MapSuite.Core.ShapeFileFeatureLayer.DrawCore(GeoCanvas canvas, Collection`1 labelsInAllLayers)

       at ThinkGeo.MapSuite.Core.Layer.Draw(GeoCanvas canvas, Collection`1 labelsInAllLayers)

       at rMetrix.WorldMapKitRenderLayer.DrawCore(GeoCanvas canvas, Collection`1 labelsInAllLayers) in C:\MyCode\DevelopmentCode\rMetrixCode2013\rMetrix\WorldMapKitRenderLayer.cs:line 2852

       at ThinkGeo.MapSuite.Core.Layer.Draw(GeoCanvas canvas, Collection`1 labelsInAllLayers)

  InnerException: 



The code in the function that is failing:




foreach


 


 



 (WorldMapKitShapeFileFeatureLayer layer in dynamicLayers)



            {


                


 



if (candidateLayerNames.Count == 0 || candidateLayerNames.ContainsKey(Path.GetFileName(layer.ShapePathFileName)))



                {


                    canvas.BeginDrawing(image, extent, unit);


                    layer.Open();


                    layer.Draw(canvas, labelsInAllLayers);


                    layer.Close();


                    canvas.EndDrawing();


                }


            }











Treasa,



I tested map suite 9.0 dll packages in both web and desktop edition, but didn’t encounter the exception you mentioned no matter how I play. 



Would you please let us know how to recreate your issue? what’s the dll version details?



Thanks,



Troy

Hi Troy, 



I am able to duplicate in my web application by setting the Map1.CurrentExtent specifically to: 

Map1.CurrentExtent = new RectangleShape(-75.5608033333333, 43.326985, -75.0795068333333, 43.1211123333333);

  

The dimensions of my map (not sure if it matters is): 

<cc1:Map ID="Map1" runat="server" width="684px" height="510px" OnClick="Map1_Click"></cc1:Map>

  

I am using the Full Production Dlls at version 9.0.0.0. 



Thank you, 

Treasa

Hi Treasa,



Thanks for the information, we can recreate the issue easily with it.

This issue does be a bug in map suite 9.0 caused by the default value of gridsize. We fixed the issue in the latest version dll, would you please get it and have a try? The correct version should be 9.0.22.0 and 9.0.0.22(might be building now, please wait for some hours).



Thanks,



Troy

Hi Troy, 
  
 I was able to download the new DLLs and the error no longer happens. Thank you for fixing! 
  
 Treasa

You are welcome. 
  
 Any other questions, don’t hesitate to let us know. 
  
 Thanks, 
  
 Troy