====== Map Suite Desktop For Wpf Features & Bug Fixes Change Log ====== =====Version 10.6.0===== Release date: 11/28/2019 ThinkGeo.MapSuite.Wpf Namespace: * Enhanced to support high resolution screen for Google layer. * Fixed a bug that ThinkGeoCloudRasterMapsOverlay can't support zoomlevels which are higher default max zoomlevel. * Fixed a pinch zoom issue. When zoom in map, the target scale is smaller than expected. * Changed DrawingExceptionMode of ThinkGeoCloudVectorMapsOverlay to DrawException. * Fixed a pinch zoom issue when panning with 2 fingers map moves in the opposite direction. * Improved the memory usage and performance WpfMap. * Fixed a serialize issue. When GisEditor save project, it will throw "System.Windows.Controls.Canvas is not marked as serializable" exception. * Fixed a performance issue that caused by frequent calling GC. * Removed TileOverlay.SetTileMatrix method. * Removed "GetZoomLevelSet" method from ThinkGeoCloudRasterMapsOverlay and ThinkGeoCloudVectorMapsOverlay. {{page>Map_Suite_Core_10.6_Features_Bug_Fixes_Change_Log}} =====Version 10.5.0===== Release date: 04/01/2019 ThinkGeo.MapSuite.Wpf Namespace: * Added support of new class ThinkGeoCloudVectorMapsOverlay to consume Vector Tiles from ThinkGeo Cloud * Enhanced to support sending web request event and sent web request event for ThinkGeoCloudMapsOverlay * Enhanced to rename ThinkGeoCloudMapsOverlay to ThinkGeoCloudRasterMapsOverlay and ThinkGeoCloudMapsMapType to ThinkGeoCloudRasterMapsMapType * Fixed a bug that default ThinkGeo Cloud Maps server URLs need get updated * Fixed a bug that memory leak in AdornmentOverlay in certain scenario * Fixed a bug that map met exception when tile cache is set to null for ThinkGeoCloudMapsOverlay * Fixed a bug that overlay reorder after refresh in certain scenario {{page>Map_Suite_Core_10.5_Features_Bug_Fixes_Change_Log}} =====Version 10.4.0===== Release date: 12/10/2018 ThinkGeo.MapSuite.Wpf Namespace: * Added new class ThinkGeoCloudMapsOverlay to support new ThinkGeo Cloud Map * Enhanced to use more accurate exception information * Enhanced to support WrapDateLine for ThinkGeoCloudMapsOverlay * Fixed a bug the BackgroundOverlay doesn't works correct * Fixed a bug the map flicker when zoom out in certain scenario * Fixed a bug the ThinkGeoCloudMapsOverlay throw exception after applying ClientId/ClientSecret * Fixed a bug the ThinkGeoCloudMapsOverlay generate incorrect route in certain scenario * Fixed a bug the ThinkGeoCloudMapsOverlay render two types tiles at the same after switch MapType to transparent background * Fixed a bug the ClassBreaks in ClassBreakMarkerStyle doesn't works correct {{page>Map_Suite_Core_10.4_Features_Bug_Fixes_Change_Log}} =====Version 10.3.0===== Release date: 7/26/2018 ThinkGeo.MapSuite.Wpf Namespace: *Improved GoogleMapsOverlay performance when using single tile mode *Fixed a bug that WMS Client cannot deal with exception when WMS Server unavailable {{page>Map_Suite_Core_10.3_Features_Bug_Fixes_Change_Log}} =====Version 10.2.0===== Release date: 10/27/2017 ThinkGeo.MapSuite.Wpf Namespace: *Supported 3D rendering for buildings(Overlay level) *Fixed a bug where marker will be fuzzy in certain scenarios *Fixed a bug where Wpf application throw null exception and stop work after few minutes in certain scenarios {{page>Map_Suite_Core_10.2_Features_Bug_Fixes_Change_Log}} =====Version 10.1.0===== Release date: 06/21/2017 ThinkGeo.MapSuite.Wpf Namespace: * Added right button pan and drag mode support * Fixed bug culture info issue on WmtsTiledOverlay * Fixed bug map displays invisible overlays some sceniraos {{page>Map_Suite_Core_10.1_Features_Bug_Fixes_Change_Log}} =====Version 10.0.0===== Release date: 02/16/2017 Map Suite 10.0 New Features: * Remove the merge module and move the assemblies to the corresponding packages. * Share the Core APIs across all Map Suite product line. * Map Suite Products are hosted on NuGet server instead of Map Suite Installer. * Simplify Map Suite License Strategy. * Split MapSuiteCore 9.0 assembly by functionality. It allows to import necessary assemblies to such projects. * BareBone NuGet Package for Map Suite products allows to create app with minimum size. * Standard NuGet Package for Map Suite products allows to transfer user's existing 9.0 projects to 10.0 easier. ThinkGeo.MapSuite.Wpf Namespace: * Fixed an issue that refreshes multi extents incorrectly. * Fixed a bug when map resizes in PreserveExtent mode. * Fixed a memory leak bug that is caused by unbind events. * Enhanced the file license strategy. * Added ClassbreakMarkerStyle and ClickableFeatureSourceMarkerOverlay support. * Fixed a bug that TileCache save previous WorldMapKitMapType tile for BitmapTileCache and FileBitmapTileCahce. The bug is caused by multi thread. * Fixed a bug when tracking line shape. * Fixed a crash issue in BingMapsOverlay. * Rewritten the logic of skipping obsoleted tiles during drawing tiles. * Fixed a NullReferenceException for UriTile and SingleTile. * Updated WmtsTiledOverlay xml analysis on LatLongOrder * Fixed an OurOfRange bug for TileMatrics. * Fixed a bug for OpenStreetMapLayer. Multi threads cause that tile cache can't work correct when zooming in/out very fast. * Fixed a bug that GoogleMapsOverlay draws tiles incorrectly sometimes. * Fixed a tile cache bug in GoogleMapsOverlay. * Added Cancel property to SendingWebRequestEventArgs and apply it to OpenStreetMapLayer and WorldMapKitLayer. * Fixed the white lines issue between the tiles for GeoTiffRasterLayer. * Fixed the order issue for MarkerOverlay and PopupOverlay * Adjust to proper Z-Index for MarkerOverlay and PopupOverlay. * Fixed a bug that the layers order is changed after the map is resized. * Added Language property in GoogleMapsOverlay. * Fixed a bug that the Feature's tag value is missing during editing. * Fixed an OutOfRangeException for PanZoomBarMapTool. * Fixed a bug that the TileCache saves an empty image occasionally. * Fixed a bug that the WorldMapKitWmsWpfOverlay works incorrectly when using OSMWorldMapKitLayer and AerialWithLabels map type together. * Fixed a culture issue for WmtsTiledOverlay. * Fixed a bug that GoogleMapsOverlay displays tiles with different size from TileCache’s in Wpf. {{page>Map_Suite_Core_Features_Bug_Fixes_Change_Log}} \\ \\ ** The following was created before Map Suite 10. Map Suite 10 organized many classes into new namespaces and assemblies as well as had a few minor breaks in compatibility. The majority of previously built code should work without modification assuming the new namespaces are added. For guidance on upgrading your existing code check out this wiki article. http://wiki.thinkgeo.com/wiki/map_suite_10_upgrade_guide ** \\ \\ =====Version 9.0.0.0===== Release date: 06/24/2015 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Added a MapZoomMode to allow user to mouse wheel zoom the map by percentage or by defined zoom levels. *Fixed a bug where the same marker is instance added to two MarkerOverlay. *Fixed a bug where the MapArguments's ZoomLevelSet is always null. *Added a custom thread start mode to support the 3rd part thread pool. *Fixed a bug where few events should not be serialized. *Fixed a bug where it's unable to pan the GraticuleAdornmentLayer with PanZoomBar. *Added attribution “© ThinkGeo © OpenStreetMap contributors” to WorldMapKit overlay/layer. *Added new property “WorldMapKitLayerType” to WorlMapKitOverlay to support new types of Map Suite online map. *Fixed a bug where it runs into exception when editing or moving the start vertex of inner rings of a polygon. *Fixed a bug where there are something wrong with CodeGenerator. ThinkGeo.MapSuite.Core Namespace: *Fixed a bug where there are something wrong with parsing the namespace of WMS capabilities file. *Fixed a bug where the EcwRasterLayer runs into memory leak exception. *Fixed a bug where the GetBoundingBoxCore method of MsSqlFeatureSource runs into exception. *Updated the unmanaged Proj4 dependency to the latest version 4.8. *Fixed a bug where ECW file path name is case-sensitive. *Added a new class of ScaleLinePrinterLayer to print scale lines. *Added new class of ScaleTextAdornmentLayer to Map Suite Core. *Added a new class of ScaleTextPrinterLayer to print scale text. *Fixed a bug where there are something wrong with initializing the omerc projection. *Fixed a bug where the Dispose method of UnmanagedProj4Projection runs into exception. *Fixed a bug where selecting LabelPrinterLayer runs into exception. *Fixed a bug where MrsidRasterLayer runs into memory leak problem. *Fixed a bug where the Jpeg2000RasterSource runs into memory leak issue. *Fixed a bug where it runs into exception when building the index of KmlLayer. *Fixed a bug that the deployed version of WebEddition, MvcEdition, SilverlightEdition and WmsEdition runs into “Unlicensed for runtime” . *Added new API for changing the color of Grid lines in ScaleBarAdormentLayer. *Fixed a bug where the WmtsLayer runs into exception, as the code of clearing the tile matrix is incorrect. *Added support of requesting tiles using UrlTemplate of resource URL in WmtsLayer. *Fixed a bug where reading Shapefile runs into exception if the decimal length of DBFColumn is bigger than 15. *Fixed a bug where the IsolineLayer runs into exception sometimes when IsolineType is ClosedAsPolygon. *Fixed a bug where the scales of tile matrix in WmtsLayer on server side are different from the ones on client side. *Fixed a bug where KmlLayer runs into exception when loading KML file with the encrypted dlls. *Enhancement OracleFeatureSource, only create one assembly instance. *Fixed a bug where the MagneticNorthLineStyle cannot be serialized. *Fixed a bug where the drawn tile images are mismatch each other when applying FileBitmapTileCache. *Added more projection support to WMTS besides the support of EPSG:3857 and EPSG:4326. *Fixed a bug where it returns incorrect class breaks if there is only one ClassBreak item in ClassBreakStyle. *Fixed a bug where the GridFeatureSource generates Gridfile with CurrentCulture but Read GridFile with InviriantCulture. *Fixed a bug where the scales of cached tiles are incorrect if OpenStreetMapLayer works with MultiThread mode. *Fixed a bug where it runs into exception when initializing the TileCache of OpenStreetMapLayer as null. *Fixed a bug where it runs into exception if the readed KML file includes the bool values. *Fixed a bug where the height of LegendAdormentLayer/LegendPrinterAdormentLayer is incorrect when the ResizeMode is Fixed. *Fixed a bug where there are something wrong with CodeGenerator. *Improved performance of drawing GraticuleAdornmentLayer. *Changed the default value of LegendContentResizeMode to Fixed. *Fixed bug that WMS don't parse response XML which describe error information. *Fixed bug GetWellKnownText for lineshape haven't been convert to Invariant Culture. *Remove toUpper for whereClause of MsSql2008FeatureLayer. *Fixed a bug where the ClientId and PrivateKey of GoogleMapsLayer doesn't work with SingleTile. *Improved the GeoCoderGenerator. *Added support of support custom spatial index name in mssqlfeaturelayer. *Fixed a bug where the request tile size is not equal to the size of map with SingleTile. *Fixed a bug where the method GetAllMapShape of KmlFeatureLayer runs into exception. *Improved the IsoLine result generated by removing the holes at the center of IsonLine. *Added the embedded TAB style support. *Fixed a bug where ProjectionFromSphericalMercator property doesn't work. *Added Attribution to all layers and Overlays. *Fxied a bug where the MagneticDeclinationAdornmentLayer runs into memory issue. *Added the new API SetWellKnownBinary(byte[] wkb) to Feature class to allow changing the WKB of the feature. *Improved the performance of method byte[] ShapeFile.ReadPolygon(byte[] dataBytes, int startIndex). *Removed the using JTS in Feature to Shape conversion(BaseShape.FromWellKnownBinary, BaseShape.CreateShapeFromWellKnownData). *Added enhancements to OpenStreetMapLayer and OpenStreetMapOverlay to make sure the exception can be thrown out. *Added Leader Lines. *Enhanced the Best Placement algorithm. *Added an Abbreviation Dictionary. For example, add "University" with "Univ" to the Abbreviation Dictionary and "University" will be abbreviated when displayed. *Added Max Nudging parameter to specify how far a label can be moved. *The unit for Drawing Margin is now pixels instead of percentage. *Geohashing APIs - Allows sorting of GeoFeatures for performance gains. Shapefiles of features that are in proximity are stored on the same section of the disk. *Standard color access for Geocolors, brushes, and pins has been streamlined. *New Projection API to find local UTM Zone for any feature. No longer need to look up UTM Zone manually. *Added ability to save and import style files from GIS Editor to Map Suite. *One-way road line style now available. *More filter conditions added for RegEx. It is now simpler to use. *Added R-Tree Indexing for KML feature layers. *Gave ability to modify well-known binary on a feature. Now possible to directly access and modify WKB. *Can now add column value data without defining it up front to Map Shapes and Edit Shapes. *Added Boundary Solution Parcel feature layer. *Created new APIs for accurate measurements regardless of projection. *Enhanced Tile Cache - new APIs allow expiration by size, date, etc. *Created Well Known Binary feature layer type for better performance, especially on Android and iOS. *New Printing APIs allow switching between page and world coordinates. *ScaleBar and ScaleLine - can set a text style to control the font and look. =====Version 8.0.0.160===== Release date: 11/17/2014 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed a bug where it's unable to pan the GraticuleAdornmentLayer with PanZoomBar. *Fixed a bug where it runs into exception when editing or moving the start vertex of inner rings of a polygon. ThinkGeo.MapSuite.Core Namespace: *Fixed a bug where the Dispose method of UnmanagedProj4Projection runs into exception. *Fixed a bug where the MrsidRasterLayer runs into Memory leak problem. *Fixed a bug where the MagneticDeclinationAdornmentLayer runs into exception. *Fixed a bug where the requested tile size is not correct under single-thread mode. *Fixed a bug where selecting LabelPrinterLayer runs into exception. *Resolve issue that MagneticNorthLineStyle cannot be serialized. *Fixed a bug where it runs into exception when calling GetAllMapShapes of KmlFeatureLayer *Fixed a bug where the drawn tile image is dismatch each other with FileBitmapTileCache. *Fixed a bug where it returns incorrect class breaks if there is only one ClassBreak item in ClassBreakStyle. *Fixed a bug where the Jpeg2000RasterLayer runs into memory leak exception. *Fixed a bug where the scale of the cached tiles is incorrect if the OpenStreetMapLayer is used with MultiThread mode. *Fixed a bug where make the tile matrix of WMTSlayer matchs between client and server scales. *Added support of parsing the WMS services whose compabilties file following the namespaces with "SM" prefix. *Fixed a bug where WMTSLayer runs into exception, because of clearing the tile matrix at wrong place. *Added the support of getting tiles from UrlTemplate of Resource url in WMTSlayer. *Fixed a bug where the EcwRasterLayer runs into memory leak exception. *Fixed a bug where the EcwRasterLayer is case sensitive to the file path name. *Added attribution "© ThinkGeo © OpenStreetMap contributors" to WorldMapKit overlay/layer. *Fixed a bug where there is a delay of tiles when dragging the map very fast under MultiThread. *Fix a bug where KmlLayer runs into exception when loading KML file with the encrypted dlls. *Fixed a bug where the height of LegendAdormentLayer/LegendPrinterAdormentLayer is incorrect when the ResizeMode is Fixed. *Made the default value of LegendContentResizeMode to Fixed. *Improved performance of drawing GraticuleAdornmentLayer. *Fixed a bug where it's unable to use ClientId and PrivateKey when using SingleTile with GoogleMapsLayer. *Improved the GeoCodeGenerator. *Fixed a bug where it runs into exception if the readed KML file includes the bool values. =====Version 8.0.0.0===== Release date: 06/06/2014 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Added reconnect strategy while UriTile failed retrieving internet images. *Fixed a bug where the highlighted vertex(red point) is disappeared when dragging the vertex. *Improved the performance when applying GCCollectionMode.Optimized to map control. *Fixed a bug where it runs into error when deleting a vertex from EditInteractiveOverlay. *Fixed a bug that an exception will be thrown if applying WrapDateline to WorldMapKitWmsWpfOverlay. *Fixed a Bug where the MouseDownCore is unable to be called after overrided. *Fixed a bug where InMemoryMarkerOverlay won't be removed from map after clearing overlays from map and doing refresh. *Fixed a bug where it's really slow while panning/zooming the map if there is a big collection background. *Added support of tracking outline only for polygon in EditInteractiveOverlay. *Enhanced the watermark strategy in multiple tiles for evaluation version. *Added functionalities to support keeping extent ratio when right-track zooming in. *Added functionalities to Overlay and Map to support a delay request drawing. *Added APIs to Overlay and Map to support auto request drawing. *Fixed a bug where an exception is thrown when failed to delete a feature. *Added reconnect strategy when UriTile is failed to retrieve images from internet. *Added ImageFormat support in WmsOverlay. *Added stretch effect to TileOverlay when it's used as base overlay in multi-tile mode. *Improved the performance of BingMapsTileOverlay by applying new locker system. *Fixed a bug where the tiles of Google Map overlap each other at low zoom levels near dateline. ThinkGeo.MapSuite.Core Namespace: *Fixed a bug that will through exception when the table in filegdb has no geometry column. *Fixed A Bug that will make features inserted into oracle table not able to be read. *Improved memory management when getting geotif world extent. *Fixed the bug where the KeyColors property doesn't take effect. *Fixed a bug where the OracleFeatureLayer shows incorrect result if the data contains 3D geometries. *Fixed a bug where using feature id as the ID column value when inserting a new feature into Oracle table. *Did the enhancements to GraticuleAdormentLayer. *Fixed a bug where something wrong with the font size after printing to PDF. *Added support of new Dbf format(30H), a kind of Foxpro Dbf format. *Fixed a bug where the installer's repair option doesn't work correctly. *Fixed a bug where the TranslateByDegree method returns incorrect result. *Added the support of Date column type in FileGdbTable. *Fixed a bug where there are some memory leak in reading ECW File. *Fixed a bug where the GoogleMapsLayer works incorrectly with single-tile mode. *Fixed a bug where it runs into exception when the customized layers are working with multi-thread mode. *Improved the memory usage in FileGeoDatabase if it contains Blob column types. *Fixed a bug where it's unable to get the correct boundingBox from the server's reply by calling GetCapability in WmsRasterSource. *Fixed a bug where the "GetAllFeatures" method in FileGeoDatabaseFeatureLayer ignores some invalid features. *Fixed a bug where the GoogleMapsLayer dismatches with overlapped shapfilelayer when the compurter's dpi is changed. *Fixed a bug where reading the GeoTif WorldFile. *Added an exception when adding a column type which is not supported by FileGDB. *Fixed a bug where the line shape always covers the point shape in maprinterlayer. *Improved the method "GetTableNames" in "FileGeoDatabaseFeatureLayer" to get the tables in FeatureDatasets. *Fixed a bug where the oracle connection in OracleFeatureSource keeps going up following the time. *Fixed a bug where there are some confilicts between System.Data.OracleClient.OracleType And Oracle.DataAccess.Client.OracleDbType. *Fixed a bug where the GetTableNames method in "FileGeoDatabaseFeatureLayer" returns incorrect type. *Removed the API key from Google layer. *Fixed a bug that Unmanaged Dependencies installers does not include all the necessary dlls for the FileGeodatabase class. *Fixed an issue that OnGeoserializing method was called but OnGeoserialized method wan't because it's a duplicate object. *Fixed A Bug in Pointshape.TranslateByOffset(). *Fixed A Bug that will make the wmtslayer not correctly displayed after upgrading to 7.0. *Fixed bug ArgumentException thrown in InMemoryBitmapTileCache. *Fixed A Bug for EcwRasterLayer that is caused by cultureinfo. *Fixed A Bug that will creat wrong Graticule Line for the map. *Added support to projection “Rijksdriehoekstelsel_New”. *Fixed a bug where the rtree removed an unexpected record. *Added functionality to refresh a set of regions on Overlay and Map. *Fixed an bug where something wrong with loading CadFeatureLayer. *Add the support that NTS doesn't support the union function. *Added GetFeaturesByIds support in TinyGeoFeatureSource. *Added ContentResizeMode property to LegendAdormentLayerto support the size of legenditem can be changed based on the AdormentCanvas size. *Added Blob type support in FileGeodatabase. *Upgraded the PostgreSqlFeatureLayer to the latest version to support new version of Npgsql Driver. *Fixed a bug where it runs into exception when re-open an not-existed file in ShapeFileFeatureLayer. *Fixed a bug of ConvertToInternalProjectionCore method in Proj4Projection. *Added an ExecuteSqlQuery and CanExecuteSqlQuery methods to QueryTools and to FeatureSource. *Did some enhancements to overrided method in sub-classes of FeatureSource. *Did some enhancements to the GetBoundingBoxCore() of OLEDBFeatureSource. *Supported adding more than 10 longer column to .dbf file. *Fixed a bug where TabFeatureSource.GetFeaturesByColumnValue() doesn't work correctly sometimes. *Added fixed size mode support of the legend item in printerlayer when dragging the legend. *Added support to allow customer to set the roatition center for rotation projection. *Added the Native Support of S-57 Maritime Charts. *Added the Native Support of GPX (GPS EXchange Format). *Fixed a bug where GetFeaturesInsideBoundingBox in InMemoryFeaureSource runs into exception after calling InternalFeatures.Add. *Fixed a bug where there is a conflict between System.Data.OracleClient.OracleType And Oracle.DataAccess.Client.OracleDbType. *Fixed a bug where there are some memory leak in GeoTiffRasterSource. *Fixed a bug where OpenStreetMapLayer runs into "index out of bounds" exception. *Added the native support of TobinBas file format. *Improved the memory usage in EcwRasterLayer to make sure it doesn't grow up quickly. *Fixed a bug where the Pointshape in GeometryCollectionShape could not be drawn by pointstyle. *Added native support of KML file format. *Fixed a bug where the numeric format don't work with point style. *Added support of Visual FoxPro format DbaseFile. *Fixed a bug where GetIsoFeatures method of IsoLineLayer returns an unexpected rectangle. *Added support of ROD unit in Jeffersonian. *Fixed a bug where it runs into exception when the latitude is larger than 180 under wrapdataline mode. *Improved the performance of WmsRasterLayer. *Added support of latin letters in Geoserializer. *Added the Native Support for .dwg and .dxf (CAD support). *Added support of WellPointStyle. *Fixed a bug where that something wrong with reading the WorldFile of some raster images because of culstureinfo. *Fixed a bug where there is a lacune in raster tiles. *Fixed a bug where creating wrong request URI with privatekey and client id for googlelayer. *Added support of GPX format. *Added projection support for CadFeatureSource. *Fixed the bug where GoogleMap reports 403 error if using the default constructor. *Added support of custom static map service based on Openstreetmap. *Fixed a bug that accessing BoundingboxUnit of wmtsTileMatrix will run into infinity loop. *Fixed a bug where there is a white line if WmtsLayer works with projection in meter. *Fixed a bug where it runs into error when labeling if ShapeFileFeatureSource is in the status of TransactionBuffer.EditBuffer. *Added support of Collate Sensitive in SqlServer2008FeatureSource. *Improved the performance of TiledWmsRasterSource by decreasing the count of request tiles. *Fixed a bug where the geoserializer doesn't support latin letters. *Fixed a bug where it runs into "projection is not opened" exceptions in some cases. *Fixed a bug where NTS doesn't support the union function if it's GeometryCollectionShape. *Fixed a bug where the FileGeodatabase can not get the "feature class". *Fixed a bug where the GetClosestPointTo method of LineShape returns incorrect result sometimes. *Fixed a bug where it runs into exception if Microsoft.SqlServer.Types.dll is not found. *Fixed a bug where the added columns are unable to be ordered. *Add support of Visual FoxPro format DbaseFile. *Added LayerCloneCount on LayerOverlay to limit the count of copied layers. *Fixed a bug where creating the incorrect ISO lines. *Improved the precision of the result returned from GetFeaturesWithinDistanceOf. *Fixed an issue where it runs into exception if the FileBitmapTileCache is in DecimalDegree while the map unit is meter. *Added CanGetQuickCount/GetQuickCount APIs to FeatureSource. *Added more utility APIs to GeometryCollectionShape. *Added support of the TobinBas file format. *Fixed a bug where GeoDbf collects Null data type. *Fixed a bug where there will be a white line after the raster image is projected. *Added ThreadSafetyLevel property to WorldMapKitLayer. *Fixed a bug where some of Feature's properties are missed after MakeValid. *Fixed a bug where a null instance added into Dictionary during deserialize. *Supported the ShapeFile and its related instances ReadWrite shareable. *Added CSScriptLibrary as MapSuiteCore dependencies to support the dynamic linq. *Fixed a bug where the raster projection returns an unmatched image. *Added LinkColumnValues property to Feature class. *Added the support of basic Cogo functionalities. *Added functionality to Layer level to request a delay drawing. *Added APIs on Layer to support auto request drawing. *Fixed a bug where the Prj4Projection doesn't change if we only set the Internal/ExternalProjectionParametersString property. *Added support of National Weather Service by adding corresponding layers. *Added CloudFileFeatureLayer and its related FeatureSource. *Added LoadLayer method on Layer to allow to load the layer from a tglyr file or stream. *Added Projection Support to OpenStreetMapLayer, GoogleMapsLayer and BingMapsLayer. *Added CompositeStyle to composite multiple styles in one style. *Added LinkSource that uses Linq to Link external data sources for higher performance. =====Version 7.0.0.0===== Release date: 06/03/2013 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Added a property "DrawingQuality" on LayerOverlay to support various quality rendering *Added a property “IsBase” on overlay to mark if an overlay is base or not *Added ability to selectively refresh tiles *Added to support the JP2000 Raster Reprojection *Added to support refreshing a specified region in current extent *Added to implement ScaleBarPrinterLayer *Added to reorder the matrix cells before drawing tiles *Added to made a default font size for popup control *Added overloads method to refresh a specified region of map and overlays *Fixed a bug that Shapes couldn't be drawn when using WicBitmapGeoCanvas *Fixed a bug that WpfMap covers some part of border control *Fixed a bug that longitude values are not showing with GraticuleAdormentLayer in wrapdateline mode *Fixed a bug that the "it is being used by another process" exception is thrown when using Bing Maps Overlay with multiple tiles *Fixed a bug that an exception would be thrown when OpenStreetMapOverlay works without cache *Fixed a bug in MarkerOverlay in WPF that it would lock a null object sometime *Fixed a bug that ShapeFeatureLayer can't open a specified shape file *Fixed a bug that KeyDown event is not raised *Fixed a bug that the overlay throws exception when refresh before adding to the logical tree *Fixed a bug where the unexpected render behavior when switching track mode *Fixed a bug that an exception would be thrown when one overlay is added to multiple maps *Fixed a bug that the PrinterInteractiveOverlay has a shift after printing *Fixed a bug that an exception would be thrown when a marker is added to multiple MarkerOverlays *Fixed a bug that FileGeodatabase will cause the Map freeze for several seconds *Fixed a bug in WpfMap.GetBitmap that it would draw a black border *Improved the result of WpfMap.GetBitmap method *Improved the rendering performance of BingMapsLayer *Removed the unexpected tiles when using OpenStreetMaps overlay ThinkGeo.MapSuite.Core Namespace: *Added a ClearCache method to MapPrinterLayer to delete the cache image *Added a spatial index status cache for MsSql2008FeatureSource *Added LinearGradient brush to MapPrinterLayer *Added support the FileGeoDatabase *Added support write white paper on Printing *Added support the GRD/GRI grid format *Added the FittingPolygonInScreen property to "PositionStyle to fit the labels as best as it can on part of a polygon *Added to create an overload for GeoImage constructor to accept a Bitmap *Added to support the static maps API for GoogleMapsLayer *Fixed accuracy issues when converting UTC to WGS84 coordinates zone 30 *Fixed a bug when using the "GetClosestPointToCore" of GeometryCollectionShape runs into endless loop *Fixed a bug that it would throw an exception when using a proj4 parameter with ManagedProj4Projection *Fixed a bug in OracleFeatureLayer that it would throw exception when the column is not surround with ‘ ” ’ *Fixed a bug in PrinterLayer that it would make the polygon’s edge follow by the ClippingArea *Fixed a bug in GDIPlusGeoCanvas that the star symbol’s offset is incorrect *Fixed a bug in ClassBreakStyle that it would cause an IndexOutOfRange exception *Fixed a bug in AreaBaseShape.GetIntersection that it would throw exception when the result is not AreaBaseShape *Fixed a bug in openStreetMapLayer that it would get an invalid image *Fixed a bug in PdfGeoCanvas that the label’s offset is incorrect *Fixed a bug that the Feature.GeometryLibrary is not synchronized with the BaseShape. GeometryLibrary *Fixed a bug in IconStyle that if the image is null, it would throw an exception *Fixed a bug in LineShape.GetLineOnALine when the distance is very small *Fixed a bug in BingmapsLayer that it would display no image when the zoomlevel is larger than 20 *Fixed a bug in LineShape.GetPointOnALine that it would return a wrong point *Fixed a bug in GeoSerializer that it couldn’t serialize the KeyedColletion type *Fixed a bug in GDIPlusGeoCanvas and PrinterGeoCanvas when outlinepen.Width = 0, it will still draw the edge *Fixed a bug that the GetPointOnALine doesn't return the correct point if the y coordinates of the vertex are the same *Fixed a bug that it's unable to install MapSuite products on Windows 8 *Fixed a bug that CLR types doesn't work on the clean machine *Fixed a bug that the BaseShape.Buffer runs into exception when the specified distance is too small *Fixed a bug in GeoSerializer that it may get an exception when serialize and deserialize a multi-dimension array type *Fixed a bug that it loses accuracy when converting between epsg:27700 and epsg:900013 *Fixed a bug that something is wrong with the clipping of MapPrinterLayer *Fixed a bug that some style will throw exception incorrectly *Fixed a bug that the scale line would throw exception when the extent out of range *Fixed a bug that EditTools.UpdateFeature is not working in MsSql2008FeatureLayer *Fixed a bug that 2163 projection will not be converted correctly with UnmanagedProjection *Fixed a bug that it would throw "Cannot insert items into an STR packed R-tree after it has been built" exception when using edit tools with multithread *Fixed a bug that the GetIntersection for RectangleShape returns incorrect result *Fixed a bug that TextSytle of LegendAdormentLayer doesn't take effect *Fixed a bug that LegendItems is not respecting TextStyle's GeoFont definitions *Fixed a bug that MsSql2008FeatureLayer.CreateTable would throw an exception *Fixed a bug that the features are not displaying by the edge of the full extent if the featureSource is applying a projection *Fixed a bug that open an SDF files with zooming in or zooming out will throw out of array index range issue *Fixed a bug that the GetDistance would throw exception *Fixed a bug that the Label should not be so sparse *Fixed Proj4 issue with EPSG 27700 *Improved IsoLine that solve some of the input points have no values issue *Improved Map Suite geometric functions to increase processing speed, accuracy and reliability *Improved some incorrect comments of the public APIs *Improved SQL query under x64 mode in ShapeFileFeatureLayer *Improved support the NauticalMile's transformation *Improved the performance of SpatialQuery method for Ms2008SqlServerFeatureSource *Improved the result and performance of IsoLine by applying Kringing Grid and tracking algorithm *Improved the way of loading the unmanaged assemblies *Improved the "ScaleBarAdornmentLayer" to support setting threshold value for switching scale bar unit *Improved the LegendPrinterLayer that there is a big blank paging at the top and bottom *Improved the Memory and CPU usage when using OracleFeatureSoruce *Improved to look for the assemblies in the same folder first and then check the system32 folder *Improved upgrade the FDOExtension to 3.7 and GDAL to 1.9 *Modified FileBitmapTileCache to use GUID for initial CacheID *Modified the logic of GetZoomLevelForDrawing by considering the IsActive *Removed the hard coded spatial index in MSSql2008FeatureSource *Removed some exception handling with ToScreenCoordinate, ToWorldCoordinate and GetWorldDistanceBetweenTwoScreenPoints =====Version 6.0.0.0===== Release date: 05/14/2012 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed an issue where WMS layer and WMS overlay doesn't share the same cache. *Fixed an issue where "it is being used by another process" exception is thrown when using Bing Maps Overlay with multiple tiles. *Fixed an issue where CurrentExtent can never be set after it is set to an invalid value. *Fixed an issue where SendingWebRequest event is not getting raised in TiledWmsLayer. *Improved some event description. *Fixed an issue where the position of printing label doesn't match the setting alignment. *Fixed an issue where some tiles are not properly displayed on BingMapsLayer with WrapDateLine. *Fixed an issue where zoomlevel doesn't change when panning the map immediately after zooming in. *Fixed an issue where TiledWmsLayer doesn't work fine when printing on PDF. *Fixed an issue where cached tiles in WMSLayer are stitched improperly when printing. ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where certain styles don't call the GetRequiredColumnNames for child styles. *Fixed an issue where GeoTiffRasterLayer’s HasBoundingBox always returns true. *Implemented GeometryCollection.GetDitanceTo() method. *Fixed an spelling issue, rename "Dragable" to "Draggable" *Added the ability to use custom servers in OpenStreetMaps. *Added the support of Nautical Miles to ScaleBarAdornmentLayer. *Fixed an issue where the first feature is always removed when deleting multiple features in MsSql2008FeatureLayer. *Fixed an issue where an exception is thrown in PrinterGeoCanvas.DrawTextCache method when RotationAngle is not 0. *Improved the Exception Description in FeatureSource.GetAllFeatures method *Added the implementation of PostgreSqlFeatureSource GetFeaturesByColumnValueCore. *Fixed an serialization issue where the keys to a GeoCollection were not being added back correctly when de-serializing. *Fixed an spelling issue, rename GoogleMapZoomLevelSet to GoogleMapsZoomLevelSet. *Fixed an issue where shapefile's bounding box is not updated after removing a feature. *Fixed an issue where multi features cannot be correct deleted at the same time. *Fixed an issue where ShapeFileFeatureSource.GetBoundingBoxById() doesn't call GetFeaturesByIdsCore() internally. *Improved the creating shape performance by moving some logic from BaseShape constructor to property. *Removed the TabFeatureLayer from FdoExtension as we've added it in MapSuiteCore. *Fixed an issue where WorldMapKitLayer couldn't export to Pdf by using PdfExtension. *Fixed an issue where an exception is thrown in BingMapsLayer when zooming to an area where no imagery is available. *Added Clear() method into InMemoryFeatureLayer and InMemoryFeatureSource. *Improved the performance of MsSql2008FeatureSource GetBoundingBox *Fixed an issue where files with big case ".SHP" extension are not accepted. *Added the support of WMS 1.3.0. *Fixed an issue where PagePrinterLayer automatically changes the orientation.. *Added StreamLoading event to GridIsoLineLayer *Upgraded all the 3rd part DLLs referenced to the latest version *Fixed the issue where the features returned by GetFeaturesInsideBoundingBox shouldn’t contain the ones removed. *Improved the map object XML Serialization. *Improved Speed Improvements by introducing MapSuite WicBitmap extension. *Added the support of Layer Transparency. *Improved the Memory Usage for ShapeFileFeatureSource. *Upgraded MrSid & Ecw to the latest version. *Improved drawing performance. *Added the support of Code Generator. *Fixed the issue where the "out of memory" exception is thrown when loading a large .tiff image. *Improved the drawing quality of TiffRasterLayer by optimizing the reading logic *Improved Label Formatting by adding Formatting and Formatted events to TextStyle. =====Version 5.5.0.49===== Release date: 12/31/2011 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed an issue where the layers are opened/closed multi times in LayerOverlay.Draw() method. ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where the PrinterDocument is disposed after raising the PrintPage event. *Fixed an issue where an exception is thrown when the tiff image is zoomed out to one pixel. *Fixed an issue where the rtreeIndex cannot be correctly used in ShapeFileMultiFeatureSource. *Fixed an issue where an SQL exception is thrown when executing a SQL statement with "where" clause within it in MsSql2008FeatureLayer. *Fixed an issue where the bounding box is incorrect after removing a feature from a shapefile. *Fixed an issue where Bing Maps Layer shifts after zooming in. *Fixed an issue where LineShape.GetLineOnALine doesn't work properly. *Fixed an issue where the MapPrinterLayer constructor doesn't hold the passed parameters. *Fixed an issue where GeoCanvas.DrawCircle method is using the wrong coordinate unit for width and height. *Fixed an issue where OpenStreetMapLayer doesn't display properly on the border. *Fixed an issue where ArgumentOutOfRangeException is thrown when calling SpatialQuery method on a projected Layer. *Fixed an issue where the first features is always deleted when deleting features.. *Fixed an issue where GetLineOnALine sometimes returns null. *Fixed an issue where GetFeaturesInsideBoundingBox doesn't work properly for point based shape file. =====Version 5.5.0.0===== Release date: 11/14/2011 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed an issue where an exception is thrown when a blank LayerOverlay is drawing under DoNotLock mode. *Fixed an issue where the size of popups and markers is changed unexpectedly when zooming in/out of the map. *Fixed an issue where an exception is thrown when map tools are initializing. *Fixed an issue where the Wrapping Dateline cuts an island. *Enhanced CalculateControlVertexForPoint method in EditOverlay. *Fixed an issue where SimpleMarkerOverlay. MarkerDragged event doesn't work properly. *Added Multipoint track mode to the TrackInteractiveOverlay. *Fixed an issue where an exception is thrown when a maptool is removed. *Fixed an issue where the markers don't display properly during the zooming animation. ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where PointType.Cross in PointStyle doesn't work properly. *Enhanced the documentation for OSM layer and overlay. *Fixed an issue where ScaleBar.AreaStyle doesn't draw properly. *Fixed an issue where an exception is thrown when Multipolygon.Contains method is called. *Enhanced the exception description where a single Tab file is loaded without other related files. *Fixed an issue where GettingZoomlevelsForDrawing doesn't work well when custom levels are overlapped. *Changed the "URI" to "WebRequest" property in SendingRequestUriTileEventArgs Class for all the products. *Fixed an issue where ShapeFileFeatureSource.CloneDeepCore() didn't work well with dBaseEngine. *Added MaxRecordsToDraw property to FeatureSource and FeatureLayer. *Fixed an issue where GraticuleAdornmentLayer doesn't work properly. *Fixed an issue where IndexPathFileName is not updated when ShapePathFileName property is changed. *Added the IsoLine Support. *Created a Print layout system. *Fixed an issue where the polygon shapes are not loaded correctly if the first ringShape in a polygon feature in shape file is not the outer ring. *Fixed an issue where GetFeatureNestestTo returns wrong result. *Fixed an issue where EditTools.ScaleUp and ScaleDown doesn't work for line shapes. *Fixed an issue where TabFeatureLayer doesn't display properly with Projections settings. *Fixed the issue where an exception is thrown when calling GetLineOnALine with the same start and end points. =====Version 5.0.0.55===== Release date: 7/7/2011 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed a bug where the RightClickDragKey is changed when setting LeftClickDragKey. *Fixed a bug where overlay's refresh action didn't worked as expected *Fixed a bug where an InvalidOperationException was thrown while using LayerOverlay *Fixed a bug where the shape file layer's IsVisible property has no effect when the ShapeOverlay's FileBitmapTileCache was attached *Fixed a bug where modified zoom level scales would not sync to the zoom bar *Added PositionChanged event on Marker class *Enhanced WrapDatelineMode on AdornmentOverlay ThinkGeo.MapSuite.Core Namespace: *Enhanced method GetPointOnALine in LineShape *Fixed a bug where the first point of DotDensityStyle wasn't random when using multiple DotDensityStyles *Enhanced MsSql2008FeatureSource to support Open/Close connection only once *Fixed a bug where Legend LineItem images and text didn't aligned on some systems *Fixed a bug where TabFeatureLayer Spatial query returned wrong featureID *Enhanced the logic for method GetLineOnALine in LineShape *Fixed a bug where an exception was thrown while loading tab file based with index. *Fixed a bug where MultipleShapeFileFeatureLayer constructor parameteres are useless *Fixed a bug where BuildIndexMode had no effect while building index file of Tab file with DoNotRebuild mode *Enhanced the load performance for tab file when using index file *Enhanced the logic in GetLineOnALine *Fixed a bug where CloneDeep method in TabFileFeatureLayer class didn't work as expected *Fixed a bug where the ValueStyle didn't work as expected on TabFileFeatureLayer *Fixed a bug where invalid validation of wms crs existed while checking WmsRasterLayer. *Fixed a bug where an exception was thrown while serializing MsSql2008FeatureLayer. *Enhanced the drawing order for features in layer *Fixed a bug which is related to location calculate problem in GdiPlusGeoCanvas *Fixed a bug where method GetBoundingBox thrown exception on MsSql2008FeatureLayer if some of the features are null =====Version 5.0.0.0===== Release date: 5/16/2011 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed a bug where the RightClickDragKey is changed when setting LeftClickDragKey. *Fixed a bug where the ClientId and PrivateKey properties of GoogleMapOverlay didn't work when using the default constructor. *Added validator to let users know BingMapsOverlay does not support Birds Eye mode. *Fixed a bug where an extra marker is displayed when moving feature and rearranging tiles at the same time. *Fixed a bug where LayerOverlay made copies of the internal layers when in SingleTile mode. *Enhanced the drawing of EditInteractiveOverlay and TrackInteractiveOverlay. *Added a DrawStretchTiles method in TileOverlay. *Added an event to format a URI before sending the request. *Exposed SyncZoomLevels method. *Obsoleted SyncZoomLevelScales method and added ZoomLevelSet property to replace it. *Added a new property ElapsedMilliseconds in the DrawTilesProgressChangedTileOverlayEventArgs. *Added support for WrapDatelineMode with SingleTile. ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where an exception was thrown when adding two styles with the same column name except the case was different. *Fixed a bug where the result was not complete in the MultipleShapefileFeatureSource.GetFeaturesNearestTo() method. *Fixed a bug where the TileCache result was not always correct when using a projection. *Fixed a bug where the GetInternalGeographyUnit always return Unknown when using FeatureSource.GetFeaturesWithinDistance with the RotationProjection. *Fixed a bug where the UserID doesn't be set in the constructor of OracleFeatureSource/OracleFeatureLayer. *Fixed a bug where the DrawingLevel could not be set for an IconStyle. *Fixed a bug that the GetLineOnLine method doesn't work correctly for some cases. *Fixed a bug where the map was not displayed correctly when using GdiPlusRasterLayer. *Fixed a bug where Feature.Equals method didn't always work correctly. *Fixed the issue where the GraticuleAdornmentLayer blocks when its projection's internal and external parameters are the same. *Fixed the issue where an exception was thrown when calling GetBoundingBox in MsSqlFeatureSource which only had one feature. *Fixed the issue where the map was not displayed properly when using GoogleLayer as background with different DPIs. *Fixed a bug in MultipleFeatureLayer where GetFeatureById returned a wrong feature. *Fixed a bug where an exception was thrown when zooming out too far for geotiff raster layers. *Fixed the issue where the ClientId and PrivateKey properties wouldn't work in the Google Maps Layer. *Fixed a bug where the Column.MaxLength is not correct when opening a database view with MsSQL2008FeatureLayer. *Fixed the bug that the result if not correct for GetBoundingBox method in WmsRasterLayer. *Fix a bug where the image had a one pixel offset while using WMSRasterLayer. *Fixed the issue where the GetDistanceTo method returns the same result no matter what the DistanceUnit was. *Fixed a bug where the GeometryCollectionShape could only be displayed when three default styles where set. *Fixed a bug where "null object reference" exception was thrown when using AllowLineCarriage=true. *Fixed a bug where the GeoTiffRasterLayer threw an exception when passing in a rectangle shape instead of a world file. *Fixed the issue where the GoogleLayer would not overlap with a given shape file in some zoomlevels. *Fixed the issue that FDOExtensionX64 didn't work in .net 4.0 framework. *Fixed a bug in the InMemoryFeatureLayer.Update which caused it to fail in some cases. *Fixed the issue where a wrong Geography Unit was used within GetFeaturesWithinDistanceOf when the projection was set. *Fixed a bug where the AreaStyle didn't work properly in the CustomStyles collection when the feature count was less than ten. *Fixed a bug where the value of the Tag property is lost when assigning a BaseShape to a Feature. *Fixed a bug that the result of GetLineOnALine is not correct for some cases. *Fixed the issue where some features had fewer points than they should using the DotDensityStyle. *Fixed the issue where the GeoLinearGradientBrush might draw incorrectly. *Fixed a bug where DrawWorldImageWithoutScaling didn't work correctly when passing in a rotation angle. *Fixed a bug where the TabFeatureLayer in the previous FdoExtension could not be serialized. *Fixed the bug in GetLineOnALine where the first and last vertex has the same coordinates. *Added the static method GenerateGrid() in the GridFeatureLayer to create grid files. *Modified the validator to allow the user to use unstandard crs. *Improved the exception descriptions for Oracle, Sql2008 and Postgre layer. *Added an constructor which accepts an image in LogoAdornmentLayer class. *Set an alias when a dbf has duplicate column names. *Added support for more types of GeoTiff files. *Added properties in FdoFeatureLayer to make them consistent with the constructor parameters.. *Added validators to ZoomLevel.Draw method to check if input features are empty. *Added Methods GetWGS84ParametersString, GetDecimalDegreesParametersString and GetLatLongParametersString to ManagedProj4Projection, UnmanagedProj4Projection and Proj4Projection. *Added ShapeFileReadWriteMode property to the ShapeFileFeatureLayer. *Enhanced TiledWmsLayer to support more than one server url as input. *Fixed a bug where the ScaleLine didn't refresh properly during panning. *Fixed a bug that memory usage would increase when using Projection. *Added a way to build nice looking legends using the LegendAdornmentLayer. *Supported projection for GeometryCollectionShape. *Updated EPSG list from the Proj4 website. *Added a validator to handle the exception when passing in an empty collection of features to the ZoomLevel.Draw. *Enhanced exception description for the RtreeSpatialIndex. *Fixed the issue where the GeoPen.Brush only worked for the GeoSolidBrush. *Enhanced the way of using StreamLoading event in GdiPlusRasterSource. *Supported conversion of .PRJ files to and from PROJ4 strings. *Fixed a problem where the polygon GetCenterPoint returns NaN for some case. *Added an event in GoogleMapsLayer which passes out the request url. *Updated the GetGeographyUnit methods and remove unused GetXXXParameters methods. *Added a GeographyUnit property to the RotationProjection. *Added a way to get the bounding box from the world file class. *Added support for the 64 bit version of FDO. *Marked ManagedGeoTiffRasterSource Serializable. *Added a new API to create a simple MsSqlServer table. *Fixed a bug where the GetLongitudeDifferenceFromDistance didn't work correctly when very small values were used as inputs. *Added BingMapsLayer and BingMapsZoomLevelSet. *Added new overload constructor Feature(wellKnownText, id, columnValues) to Feature. *Added GraticuleAdornmentLayer class. *Added Height, Width and BackgroundMask properties to AdornmentLayer. *Added AlternateBarBrush property to ScaleBarAdornmentLayer. *Added DrawingQuality enum to GeoTiffRasterLayer. *Marked [Serializable] for GeoTiffRasterLayer, HeatLayer, GraticuleAdornmentLayer and HeatStyle. *Added overloads for GetFeaturesNearestTo at QueryTools to be the same as the FeatureSource. *Exposed InterpolationMode for GdiPlusGeoCanvas and GdiPlusRasterLayer. *Added a StreamLoading event to the GdiPlusRasterLayer and ShapeFileFeatureLayer to make it easier for the users to find. *Added OpenStreetMapsZoomLevelSet class. *Added WrappingMode property to support map wrapping past the dateline. *Added LabelAllLineParts property in TextStyle to label all parts of a MultiplelineShape. *Added the enum PolygonLabelingLocationMode to improve the algorithm for labeling polygon. *Added new class "SerializationHelper" for help to deserialize objects accross different versions of Map Suite. *Obsoleted some methods in ManagedProj4Projection according to Proj4Projection class. *Fixed a bug where the IconStyle didn't display any labels when user didn't set icon images. *Removed the Obsolete APIs. =====Version 4.5.0.0===== Release date: 11/01/2010 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Optimized single tile type cache. *Added the adjustable height arrow for Popup. *Fixed a bug of a content template of marker control. *Fixed a bug of label rotation with offset in DrawingVisualGeoCanvas. *Enhanced the performance for Tile and TileOverlay. *Fixed Issue about DrawException. *Fix a bug that MarkerDragMode.None doesn't restore from the drag mode. *Added Cancellation during drawing on Overlay. *Fixed a bug when overriding a TrackOverlay for removing a vertex during tracking. *Cleared the stretch tiles after the overlay is completely drawn. *Fixed a bug of restoring the tile in LayerOverlay from exception. *Fixed a bug when editing out of world extent. *Added OSM overlay. *Added TileBuffer for TileOverlay. *Removed all the ImageSource to theme resources. *Added TileCache support for SingleTile. *Added drawing without locking a layer to use thread efficiently. *Enhanced the speed rendering for marker in InMemoryMarkerOverlay. *Added a MaxExtent property on the TileOverlay for customize the Matrix. *Added a world map button on the PanZoomBar. *Added a better performanced BingMapsTileOverlay. *Enhanced API for WpfDesktopEdition. *Added a OpenStreetTileOverlay. *Added RestrictExtent support. *Enhanced the Load/SaveState method for map elements. ThinkGeo.MapSuite.Core Namespace: *Fixed the problem not encrypted for some private functions *Optimized the retrieving twice for MSSqlFeatureSource geometry column. *Provided support for VS2010 and samples. *Fixed a rounding bug in GetPointOnALine API of LineShape. *Fixed an issue when using a Chinese font *Functions of MSSqlServer2008FeatureSource or Layer run to error in some specified culture. *Bad performance with SQLServer2008 when using Geography type and large data size. *Fixed an issue when using the UpdateColumnName API in dbf module. *Fixed an issue throwing exception when calling BuildIndex in Turkey enviroment. *Point Placement Affected by Label Length *WmsRasterLayer cannot work when deserialized *Support .NET 3.5 Client Profiler *Implemented INotifyCollectionChanged, INotifyPropertyChanged interface in GeoCollection *Replaced the Proj4Projection into ManagedProj4Projection used internally *Fixed the issue the RasterLayer is not drawn in the PrinterGeoCanvas. *Added OpenStreetMapLayer to support OpenStreetMap *Added Managed GeoTiffRasterSource *Added GetFeatureInfo functions for WmsRasterLayer *Enhanced performance for GdiPlusRasterLayer *Added ClusterPointStyle *Added DrawingProgressChanged event