Posting on behalf of a customer:
Hi,
We have found the following issues with transactions relating to styles and drawstatic layers.
1) If we have a feature on a map and we start a transaction and move that feature in the transaction without committing it we have a redraw issue with the style stack. That is if we have a text style and an area style the text style does not redraw (or maybe it draws at the incorrect layer) so we no longer see the text. If we commit the transaction before redraw everything is fine.
2) We have a classbreak style on a layer. We start a transaction and move an object on the layer we get an exception thrown (see stack trace). If we commit the transaction before calling drawstatic layers, everything is fine.
Stack Trace
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at ThinkGeo.MapSuite.Core.ClassBreakStyle.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.VectorLayer.DrawCore(GeoCanvas canvas, GeographyUnit mapUnit, Collection`1 labelsInAllLayers)
at ThinkGeo.MapSuite.Core.Layer.Draw(GeoCanvas canvas, GeographyUnit mapUnit, Collection`1 labelsInAllLayers)
at ThinkGeo.MapSuite.Core.MapEngine.x2a77eb6032362d14(Layer xa1d467ddfe47b178, GeographyUnit x23bf990a35721448, Object x65e9a9c6c5e41d97)
at ThinkGeo.MapSuite.Core.MapEngine.x68ddaa28fe467d0a(IEnumerable`1 xbc8a920bd17eefdf, Bitmap xe10299f210688dae, GeographyUnit x23bf990a35721448, Boolean xa872403da055b02a)
at ThinkGeo.MapSuite.Core.MapEngine.DrawStaticLayers(Bitmap gdiPlusBitmap, GeographyUnit mapUnit)
Oh, can you tell me what the difference is between a dynamic and static layer? I have assumed (hopefully correctly) that a dynamic layer would be used to represent a layer that is refreshed periodically (like to display a moving vehicle on a road). While a static layer displays data that changes infrequently or not at all.
Thanks