====== Map Suite Web For WebForms Features & Bug Fixes Change Log ====== =====Version 10.6.0===== Release date: 11/28/2019 ThinkGeo.MapSuite.WebForms Namespace: {{page>Map_Suite_Core_10.6_Features_Bug_Fixes_Change_Log}} =====Version 10.5.0===== Release date: 04/01/2019 ThinkGeo.MapSuite.WebForms Namespace: * Enhanced to rename ThinkGeoCloudMapsOverlay to ThinkGeoCloudRasterMapsOverlay and ThinkGeoCloudMapsMapType to ThinkGeoCloudRasterMapsMapType * Fixed a bug that default projection of XYZ layer is incorrect, now it's "EPSG:900913" {{page>Map_Suite_Core_10.5_Features_Bug_Fixes_Change_Log}} =====Version 10.4.0===== Release date: 12/10/2018 ThinkGeo.MapSuite.WebForms Namespace: * Added new class ThinkGeoCloudMapsOverlay to support new ThinkGeo Cloud Map * Enhanced to use more accurate exception information * Fixed a bug the ThinkGeoCloudMapsOverlay throw transition effect issue in certain scenario {{page>Map_Suite_Core_10.4_Features_Bug_Fixes_Change_Log}} =====Version 10.3.0===== Release date: 7/26/2018 ThinkGeo.MapSuite.WebForms Namespace: *Fixed a bug that "GenerateCacheImages" doesn't work in certain scenario {{page>Map_Suite_Core_10.3_Features_Bug_Fixes_Change_Log}} =====Version 10.2.0===== Release date: 10/27/2017 ThinkGeo.MapSuite.WebForms Namespace: * Fixed a bug where some tiles missed in some deep zoom level {{page>Map_Suite_Core_10.2_Features_Bug_Fixes_Change_Log}} =====Version 10.1.0===== Release date: 06/21/2017 ThinkGeo.MapSuite.WebForms Namespace: * Fixed bug map will be cleared unexpectly when using MultiMap in one page {{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: * Core functionality supports multi-platforms on Windows, Linux and macOS. * Core APIs are shared across all Map Suite product line. * Remove the merge module and move the required assemblies to specific package. * Create new product center that is available to run on multi-platforms including Windows, Linux and macOS. * 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. * Support ECW files on Linux. * Support MrSid and JPEG2000 files on Linux. * 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.WebForms Namespace: * Fixed bug that LayerSwitcher doesn't work. * Fixed a bug that the popup close button is unable to click if AdornmentOverlay is added. {{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.WebEdition Namespace: * Added Serializable and obfuscation attribute to support GeoSerializer in WebEdition. * Fixed a bug where the map doesn't show up after return back from another page. * Fixed a bug where the created application runs into exception in Visual Studio 2013. * Added new properties MaxExtent, TileFullExtent and TileOrigin to WmtsOverlay. * Fixed a bug where the map will zoom in one more level after restoring current extent. * Fixed a bug where Opacity property doesn't work for GoogleMapsOverlay. * Fixed a bug where the map doesn't show up if the map application is put in a sub directory. * Fixed a bug where some configurations of OpenStreetMapsOverlay doesn't applyoption(like isBaseLayer) setting doesn't apply to OSM layer. * Fixed a bug where it's unable to add a column by callingx InMemoryMarkerOverlay.Columns.Add(). 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. * Fixed 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.WebEdition Namespace: * Fixed a bug where the map doesn't show up when depolying website as a sub-application on IIS with case sensitive configuration. * Fixed a bug where the map will zoom out 1 more zoom level after restoring the current extent from a previous extent * Fixed a bug that the map is not correctly displayed when showing the full map of BingMap. * Fixed a bug where options, like isBaseLayer, is not applied to OSM layer correctly. 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.WebEdition Namespace: * Fixed a bug where the marker can not be clicked on a highlightoverlay. * Added support to allow users to change the MaxExtent of map control. * Fixed a bug that the map is not correctly displayed when showing the full map of BingMap. * Fix a bug where the MaxExtent is not generated into JSON string when creating a customized map. * Fixed a bug where the custom cursor doesn't work. * Fixed a bug where it's unable to active the editing mode after doing a postback save or edit on Ipad. * Fixed a bug where the session id will make the map run into error with different parameters. * Fixed the bug where the IE10 issue happens under .NET 4.0 or 2.0 with ImageButton controls. * Fixed a bug where the new tiles will be generated cross dateline if applying wrapdataline. * Upgraded Openlayers used in WebEdition from 2.11 to 2.13.1. 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.WebEdition Namespace: * Added WMTS layer/overlay * Added a Regex validate on Map.ToJson * Added CustomOverlays Move methods * Added the RequiredColumnNames in MarkerStyle * Fixed a bug that the Google Street View doesn't show again if hide it using Client JavaScript * Fixed a bug that the Map control doesn't work with Telerik RedAjaxManager * Fixed a bug that Context Menu is not shown up at the right position when the div has the style “position:absolute” * Fixed a bug that it would cause the bad performance of MsSql2008FeatureLayer * Fixed a bug that the BingMapsOverlay doesn't display after switch between more than 2 bingMapOverlays via OverlaySwitcher in webKit browser * Fixed a bug that "Panning the map"&"Zoom to a scale" doesn't work with server API * Fixed a bug that the ArcGISRestOverlay does not utilize specified parameters * Fixed the issue that the map control doesn't work with Telerik RadAjaxManager control * Improved to use GUID as the Session Id instead of PageName and ClientId * Modified the Content-Type of ThinkGeo * .axd files to "application/x-javascript" 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.WebEdition Namespace: * Fixed an issue while a cached overlay does not line up properly after panning or zooming in/out. * Added the Culture Info support to ManagedProj4Projection.ConvertProj4ToPrj() method. * Fixed an issue where AdornmentOverlay doesn't work well if map is not placed at left-upper corner. * Fixed an issue where CloudPopup cannot be corrected closed when there are more than one map controls on the page. * Fixed an issue where an exception is thrown if ID Value is not passed through OpenStreetMapOverlay's constructor. * Fixed an issue where the map disappears when resizing the Safari browser. * Added the Opacity support to Popup. * Fixed an issue where PanZoom's GlobeButton cannot be disabled. * Fixed an issue where pointstyle is improperly displayed when exporting to pdf. * Fixed an issue where BingMapsOverlay cannot be set as ActiveBaseOverlay. * Fixed an issue where map is jumpy while Panning on the boundary of a Restricted Extent. * Added the support of Map Quest on Client Side. * Fixed an issue where the context menu disappears after a flash at high zoom levels. * Fixed an issue where Context Menu is not showed up at the position where mouse clicked. * Fixed an issue where an exception is thrown in OnClientDoubleClick event. * Added Google Map's StreetView to GoogleMapOverlay * Added Bing Maps Logo and data provider attribution to BingMapsOverlay * Fixed an issue where the tiles of LayerOverlay shift while using ServerCache. * Fixed an issue where a popup is prompted up while loading the GoogleMaps. * Fixed an issue where current extent get lost after postback. * Fixed an issue where the client layer.redraw(true) doesn't work for InMemoryMarkerOverlay and FeatureSourceMarkerOverlay. * Fixed an issue where changing the PanZoomBar visibility on mobile browsers take no effect. * Fixed an issue where cache tiles shift after loading. * Added Google Map's TrafficView to GoogleMapOverlay * Fixed an issue where BingMaps in Chrome or Safari, turns to white after switching between different overlays. * Added New Web Request Events and Methods 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.WebEdition Namespace: * Fixed an issue where the OpenStreetMapOverlay constructor doesn't hold the passed parameters. * Fixed an issue that the cache doesn't work properly. * Fixed an issue where a popup is added multiple times. * Fixed an issue where Server.Transfer redirects to the wrong page. * Fixed an issue where an overlay in meter based projection with cache enabled doesn't match other overlays. 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.WebEdition Namespace: * Fixed an issue where it throws the JS exception "html:invalid operation" if the map is in Updatepanel * Fixed an issue where the EditOverlay runs into error when deserializing its features. * Fixed an issue where hover popup doesn't work properly in IE9. * Fixed an issue where PopUpDelay doesn't work for ClusterMarkerStyle. * Enhanced BingMapsOverlay making it support Enterprise Key. * Fixed an issue where the layers on the Overlay switcher are disordered. * Fixed an issue where Properties Window and Map Control keep Flashing or Continuously updating in Design Time. * Enhanced the LayerOverlay so the TiledWmsLayer requests images simataneously. * Fixed an issue where drawing a Label on a Marker increases image size. * Fixed the way that the "Number of Points must be 0 or > 3" exception is handled. 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.WebEdition Namespace: * Fixed a bug where the fontstyle didn't support two different styles together * Fixed a bug where ServerCache created multiple folder for single zoomlevel * Fixed a bug Where Visual Studio 2010 became unresponsive after debugging several times * Fixed a bug where the GeometryCollection can't be displayed correctly with Projection * Fixed a bug where the image size setting had no effect 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.WebEdition Namespace: * Fixed a JScript runtime error on AutoRefresh. * Fixed a bug where the sequence in the overlay switcher doesn't match the sequence of the overlays. * Fixed a bug in the Marker Roatation sample. * Fixed a bug that a JavaScript error in Geo_Resource.axd when using Google Overlay. * Fixed a bug where the ContextMenu doesn't display within the Master Page or User Control. * Fixed a bug where overlays disappeared when panning, zooming under a different projection. * Fixed a bug when assigning rotation angles to markers. * Fixed a bug where an error is thrown from Map click/double-click and Highlight Overlay click event while the map is loading. * Fixed a bug where a JavaScript error was thrown when one of multiple maps were hidden. * Upgraded to OpenLayers2.10 * Added support iOS touch events including pinch zooming, drag panning etc. * Obsoleted ClientZoomLevelScales property and SyncZoomLevelScales method, but added ZoomLevelSet property instead. * Added a way to turn off WMS Background Layer on the server side. * Upgraded the Google API to support versions V2 and V3. * Added a new item called DegreesMinutesSecondsLatitudeLongitude to the ThinkGeo.MapSuite.WebEdition.MouseCoordinateType enumeration. 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.WebEdition Namespace: * Fixed the bug that ViewState is so large because of Map.MapTools * Removed some Features of OpenLayers 2.8 Deprecated compared to 2.7 * Fixed the Memory leak when refreshing the markers again and again * Fixed the bug it will be displacement when using VirtualEarthOverlay * Fixed the bug that the marker in InMemoryMarkerOverlay and FeatureSourceMarkerOverlay are cut off * Added the backGroundColor for Marker Text * Fixed the bug that the text for marker is cut off * Fixed the bug that assigning rotation angle to markers * Fixed the bug that VS2010 WebEdition project is unable to work normally. * Added ClusterMarkerStyle to cluster the markers and improve the MarkerOverlay performance. * Improved the bad performance when MarkerOverlay works with huge markers * Map crash after long idle time 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 =====Version 4.0.40.0===== Release date: 6/15/2010 * Updated assembly version to 4.0.0.0; included strong-named and weak-named assemblies. Please see the latest post in the Developer Blog for full details. ThinkGeo.MapSuite.Core Namespace: * Fixed issue with the ScaleTo API in BaseShape when called by a Rectangle Shape. * Fixed issue where an exception would be thrown when calling BuildIndex in a Turkish enviroment. * Fixed issue when using the UpdateColumnName API in DBF module. * Fixed issue involving use of Chinese fonts * Fixed a rounding bug in the GetPointOnALine API of LineShape. * Some minor API changes. See the API change log for complete details. =====Version 4.0.0.17===== Release date: 5/21/2010 ThinkGeo.MapSuite.Core Namespace: * Fixed issue where DrawingArea property was no longer present in PdfGeoCanvas. =====Version 4.0.0===== Release date: 5/1/2010 ThinkGeo.MapSuite.Web Namespace: * Many core enhancements and additions as itemized here. * Added Visual Studio 2010 "How Do I?" sample application solution. * Added animated panning. * Added measurement tools. * Added Clustering Marker Strategy. * Added method where markers are rendered on GetBitmap. * Added the ability to change the title of the OverlaySwitcher panel. * Added new events for draggable markers, such as BeforeDrag, Dragging, and EndDrag * Added new key modifier options for TrackZoom, such as Shift, Ctrl, etc. * Added ContextMenu that can be wrapped at the edges of the map. * Added Pan behavior on the HighlightOverlay. * Added auto refresh for WMSOverlay. * Added Serializable attribution to SimpleMarkerOverlay. * Added WrapdateLine for LayerOverlay and WmsOverlay. * Added CallBackResult to support asynchronous refresh. * Added support for ContextMenus with sub-levels. * Added OSMOverlay to support an Open Street Map server. * Added ArcGISRestServerOverlay to support ArcGIS Rest Server. * Added a property that specifies if the embedded resources can be copied to the website in runtime. * Added controller about how to specify if the web.config can be integrated in runtime. * Exposed more client functionality accessible via JavaScript. * Removed the exception when using the DefaultOverlay and CustomOverlay together. * Fixed issue with deploying the map to IIS 7.5 when using DefaultPool. * Fixed issue with rendering BaseOverlayTitle and OverlaySwitcher Tile in runtime. * Fixed issue where Virtual Earth maps go blank when you resize the map. * Fixed block of OnClientEditEnd event when the shape is not changed. * Fixed the IE7 "Operation Aborted" error with Virtual Full PostBack * Fixed the memory leak when refreshing markers repeatedly. * Fixed issue where Virtual Earth Bird's Eye imagery does not show. * Several API additions, plus one breaking change. See the API change log for complete details. * Updated the API documentation. ThinkGeo.MapSuite.Core Namespace: * Added additional helper methods to the GeoCollection class. * Added better support for labeling with Asian characters. * Added support for Google Static Maps API v2. * Added simple support for Yahoo Maps. * Added support for heat map layers. * Added support for 100% managed proj Projection Library. * Added direct support for Map Shapes. * Added API to modify the column name in ShapeFileFeatureSource and ShapeFileFeatureLayer. * Added new API BuildIndex for MultipleShapeFileFeatureLayer * Included GraticuleLineLayer support and a sample application for it. * Enhanced the MultiShapeFileFeaturesLayer class to allow you to use files in multiple folders. * Enhanced the distance measuring method to use the Haversine formula. * Improved GeoCache performance. * Updated the PostgreSQL Assembly versions. * Exposed the DBaseFile class library. * Exposed the disk-based RTree Spatial Index. * Split up the Map Suite MergeModule into smaller and more manageable pieces. * Fixed issue where GetCenterPoint using NTS would return an invalid value when the polygon's width and height is 0. * Fixed issue regarding GetBoundingBox of GroupLayer. * Fixed issue where GetAllColumns also returns the Geometries column. * Many API additions. See the API change log for complete details. * Updated the API documentation. =====Version 3.1.299===== Release date: 11/16/2009 ThinkGeo.MapSuite.Web Namespace: * Fixed issue where Web Edition did not work under IIS 7.0's Integrated Mode. * Fixed issue with a client exception in Firefox involving session_georesource.axd. * Fixed issue with JavaScript that would occur when changing the drawing mode in Firefox. * Some minor API additions. See the API change log for complete details. ThinkGeo.MapSuite.Core Namespace: * Fixed issue with the ScaleTo API in BaseShape when called by a Rectangle Shape. * Fixed issue where SaveToProjection is incorrect for some data. * Fixed issue with the DecimalDegreesHelper API GetDecimalDegreeFromDegreesMinutesSeconds. * Fixed caculation issue in DecimalDegreeHelper.GetDistanceFromDecimalDegrees when passing particular data. * Fixed issue where an exception is thrown for TAB files when the column name starts with an underscore(_). * Some minor API changes. See the API change log for complete details. =====Version 3.1.273===== Release date: 10/22/2009 ThinkGeo.MapSuite.WebEdition Namespace: * Upgraded to OpenLayers 2.8. * Fixed event conflict when using DraggableMarker and MapClick event. * Fixed issue regarding event that needed to be reaised in MasterPage. * Fixed issues where the map would turn blank after a postback in Firefox. * Fixed issue with Tracking/Editing shapes in Internet Explorer 8. * Some minor API additions. See the API change log for complete details. ThinkGeo.MapSuite.Core Namespace: * Added Haversine formula to calculate distance. * Added DrawException method to draw exceptions rather than throwing them in the Overlay and Layer. * Added IndexedInMemoryFeatureLayer Class. * Added ReadOnly logic to ClearCache and DeleteTile methods. * Added the schema supported in PostgreFeatureSource. * Added API overloads for GetFeaturesByColumnValue method. * Added API to detect the feature type in FeatureSource. * Added API BuildIndex in InMemoryFeatureLayer. * Enhanced the Sql2008FeatureSource, PostgreFeatureSource and OracleFeatureSource by adding one event ExecutingSqlStatement. * Extended the KeyColor from one color to an array of colors or a range of colors. * Fixed a memory leak when calling OpenAllLayers multiple times. * Fixed issue where ApplyUntilZoomLevel doesn't work right when using CustomZoomLevel. * Fixed OutofMemory exception issue in WFSFeatureSource. * Fixed issue where SaveToProjection in ShapeFileFeatureSource would throw an out of memory exception. * Fixed issue with the Stream_Loading event in ShapeFileFeatureSource. * Fixed issue with obfuscation in autobuild. * Fixed issue where the WMS cannot work properly when the network is unavailable. * Fixed issue where GetRandomColor always get the same color. * Fixed issue where CloneDeep of InMemoryFeatureSource does not work. * Fixed issue where InmemoryFeatureSource cannot be serialized correctly. * Fixed issue where you could not parse the parent layer in a WMS server. * Fixed issue where an OutOfMemory error occurs while drawing. * Fixed issue with support for Geography type data in MsSqlFeatureSource. * Fixed issue with the GetFeaturesInsideBoundingBox method of MultipleShapeFileFeatureSource. * Fixed issue where GetCenterPoint using NTS will return an invalid value when the polygon's width and height is 0. * Fixed issue regarding thrown exception ORA-00936: Missing Expression. * Fixed issue where GetPointOnALine returns the wrong value. * Fixed issue where GdiPlusRasterLayer has a black line in tile mode. * Fixed issue with the GetFeatureById API in WfsFeatureLayer. * Fixed very low performance issue with GetColumnsCore. * Fixed issue with missing tag information in InMemoryFeatureLayer. * Fixed non-serializable issue for WFSFeatureLayer. * Fixed issue where an exception was thrown when building an index for an empty shape file. * A number of API changes. See the API change log for complete details. =====Version 3.1.182===== Release date: 7/23/2009 ThinkGeo.MapSuite.WebEdition Namespace: * Added client cache on the client side for improved loading performance. * Added a property to disable multithreading in LayerOverlay to make debugging easier. * Fixed issue with the FeatureSourceMarkerOverlay. * Fixed issue where a sub-class of Map would not work correctly. * Fixed issue where the FDO Extension would throw an exception when multi-threading. * Some minor API additions. See the API change log for complete details. ThinkGeo.MapSuite.Core Namespace: * Added some APIs for ScaleBar in order to implement the same functionality as in ScaleLine. * Fixed issue with setting a different DPI for canvas. * Fixed issue where the Matrix system did not consider the MapUnit. * Fixed issue where the OverrideMode did not work correctly for the ShapeFileFeatureLayer.SaveToProjection API. * Fixed issue where an exception would be thrown when using a MaskBrush for the ScaleBar. * Fixed issue where bool field cannot be updated in the DBF. * Fixed the Out of Memory Exception thrown when calling the ShapeFileFeatureLayer.SaveToProjection API on very large shape file data. * A number of API changes. See the API change log for complete details. =====Version 3.1.124===== Release date: 5/26/2009 ThinkGeo.MapSuite.WebEdition Namespace: * Added MarkerDragged event on the server side. * Added support for ASP.NET MVC. * Added a search engine to the "How Do I?" sample apps browser. * Added JavaScript library cache support. * Added simple styles for EditionOverlay support. * Added WFS support. * Enhanced track shape functionality. * Enhanced cache pre-generation extension. * Optimized client printing. * Optimized multi-language support. * Bugs fixed: * * Fixed match issue when using a Virtual Earth overlay. * * Fixed issue involving draggable markers. * * Fixed issue with session saving support in SQLServer. * * Fixed issue when working with Callback. * Some minor API changes. See the API change log for complete details. ThinkGeo.MapSuite.Core Namespace: * Added an API to CheckForUnSupportedShapeTypes(string shapeFilePath). * Added support for a Polygon record that contains 0 parts. * Added an overload for BuildIndexFile. * Added ExecuteQuery support for Postgre. * Added property to show whether the assembly is the Full Version or Evaluation Version. * Added an overload to CreateShapeFile so that user can choose whether they want to override. * Added polygon simplification to AreaShapes. * Added line simplification to LineShapes. * Added obsolete to the AllowSpline property in text style. * Added GetFirstGeometryType in Postgre, Oracle and SQL layers. * Added "Simplify" sample application. * Added an overload to GetFeaturesNeareastTo with a distance limitation. * Added documentation for DashPattern. * Added ToGdiPlusColor method in GeoColor. * Added a way to build a spatial index based on another projection, not using a feature list. * Added DPI support for the GeoCanvas. * Improved the TIFF quality for GeoTiffRasterLayer. * Changed the logic of GetZoomLevelForDrawing by considering the IsActive. * Changed the proj4.GetEpsgParameters(srid) method from instant to static. * Changed the Layer.IsVisible to virtual. * Checked the IdFieldColumn for all spatial databases like Postgre, Sql2008 and Oracle. * Fixed issue when modifying the inner logical of DbfColumn constructor. * Fixed issue where GeoTiff was not supported. * Fixed issue where the parameter name is wrong for the postgreFeatureLayer's constructor. * Fixed issue where TextStyle.Format did not work. * Fixed issue involving uppercase conversion when executing SQL in shape file feature source. * Fixed issue where GetAllColumns also returns the Geometries column. * Fixed issue with GetFeaturesForDrawing logic. * Fixed issue with TextStyle.DrawCore DPI. * Fixed issue where RasterLayer does not work when the DPI is not 96. * Fixed issue where a Postgre Layer will throw "Object reference not set to an instance of an object" exception. * Fixed issue involving the first Rotation when setting Rotation projection. * Fixed issue where PointStyle.DrawSample() did not work. * Fixed issue where the drawing order is not correct when adding multiple types of features to one feature layer. * Fixed issue in GetFeaturesByColumnValue. * Fixed issue where custom column did not work for the spatial query methods. * Fixed issue where the gdiPlusGeoCanvas.DrawCircle() result is not correct. * Fixed issue where ExecuteQuery did not work properly. * Improved some exception descriptions. * Fixed issue where featureLayer.Columns exists, but the featureSource.Columns property does not. * Fixed issue with GroupLayer display order. * Fixed issue where GetRandomGeoColor was missing. * Fixed issue involving sorting classBreaks internally. * Fixed issue involving support for all other types like (PolyM) for ShapeFile Layer. * Fixed issue involving exposure of static API from ShapeFileFeatureSource to ShapeFileFeatureLayer. * Fixed issue where the Transparency property does not work in RasterLayer. * Fixed issue where DotDensityStyle was not drawing after CloneDeep. * Fixed issue in Map Suite Explorer. * Fixed issue where creating a shapeFileLayer by streamloading event would throw an exception in layer.close(). * Fixed issue involving consideration of the DoNotDraw property or FeaturesToExclude. * Fixed issue where TestLayerStyle.DrawSample did not work properly with the haloPen. * Fixed issue where GetBoundingBoxOfItems did not work properly. * Fixed issue involving label drawing even if the line was visible on the screen. * Fixed issue where the CustomFieldFetch event did not work in a ShapeFileFeatureLayer. * Fixed issue where GeoPen does not act on symbol Diamond, Diamond2, Star or Star1. * Fixed issue where some shape files cannot build an index. * Fixed issue where GeoPen and GeoBrush constructors did not work. * A number of API changes. See the API change log for complete details. =====Version 3.1.16===== Release date: 2/6/2009 ThinkGeo.MapSuite.Web Namespace: * Added new feature: Draggable markers. * Resolved issue with zooming out after doing a postback. * * Draggable markers: * * {{webedition:Draggable markers sample.jpg}} {{webedition:Draggable markers diagram.jpg}} The code to implement a draggable marker is quite simple. An example: SimpleMarkerOverlay markerOverlay = new SimpleMarkerOverlay("MarkerOverlay"); markerOverlay.DragMode = MarkerDragMode.Drag; markerOverlay.Markers.Add(new Marker(0, 0, new WebImage(21, 25, -10.5f, -25f))); Map1.CustomOverlays.Add(markerOverlay); ThinkGeo.MapSuite.Core Namespace: * Added an API(ZoomToOffsetPoint) in ExtentHelper. * Added Overloads GetFeaturesInsideBoundingBoxCore and GetFeaturesOutsideBoundingBoxCore. * Added a more descriptive message for a ShapeFile validation. * Added SaveToProjection in ShapeFileFeatureSource and ShapeFileFeatureLayer. * Added a protected virtual property for the cached featureSourceColumns. * Added an API in the FeatureSource to refresh the cached columns. * Added the API CheckForUnSupportedShapeTypes(string shapeFilePath). * Changed the logic to use the InMemoryFeatureSource and InMemoryFeatureLayer. * Resolved an issue with style.DrawSample. * Resolved System.AccessViolationException when the map is redrawn. * A number of API additions. See the API change log for complete details. =====Version 3.1.0===== Release date: 1/22/2008 ThinkGeo.MapSuite.WebEdition Namespace: * Add X64 OS support. * Added support for session serialization. * Added support for a client zoomlevels setting mechanism. * Added support for changing a shape's style when editing. * Improved shape edit settings. * Improved APIs. See the API change log for complete details. * Bugs fixed: * Display error when using different regions. * Can't use the pageLoad default client function on an .aspx page. * Exception description resource error. * Fixed a memory leak when navigating a map at the client side. * Synchronized non-baseOverlay visibility between client and server side. * Double-click event won't trigger when the MouseMapTool is enabled. ThinkGeo.MapSuite.Core Namespace: * Added a parameter check to the Projection class. * Added a CustomZoomLevels collection to the ZoomLevelSet to allow for custom zoom levels. * Added a more descriptive exception message if a PolygonShape or MultiPolygonShape does not pass the validation test. * Added HasProjectionText and ProjectionText properties to RasterSource and RasterLayer. * Added validation checks on each member of the QueryTools to ensure that the Layer has been opened. * Added a new API for getting features based on the value in a column. * Added another parameter to BeginDrawing in GeoCanvas. * Added ExecuteSqlQuery and CanExecuteSqlQuery methods to QueryTools and FeatureSource. * Added two overloads for the method LineShape.GetLineOnLine. * Added encoding tests. * Added MrSid support in 64-bit environments. * Created JPEG2000RasterLayer/JPEG2000RasterSource to make it easier to load JPEG2000 images. * Provided an API in ShapeFileFeatureSource and ShapeFileLayer. * Updated the documentation for class name changes and for classes that did not previously have documentation. * Changed PathFileName to PathFilename. * Changed the ReadMe to Readme. * Changed the MapSuiteCore class to take advantage of re-projecting an array of points. * Changed the internalFeatures from a Dictionary to a GeoCollection. * Modified ShapeFileFeatureSource.ExecuteSqlQuery() to throw exception if filename is longer than 8 characters. * Enhanced the Projection classes and members. * Improved performance in GdiPlusRasterLayer. * Improved the Union Sample logic. * Improved the exception description for Layer.QueryTools/Layer.EditTools. * Improved the documentation for EditTools.Union. * Improved speed of spatial queries with a polygon-based layer when using a MultiPolygonShape as the target shape. * Improved speed of the Proj4Projection class by removing the locking code. * When building an index, all features are now loaded into memory. * Fixed missing overload for static method CreateSimpleAreaStyle. * Fixed ZoomIn bug. * Fixed the PointStyle, AreaStyle and LineStyle DrawSample methods so that they return the sample in the middle of the image. * Fixed an outstanding issue with style.DrawSample. * Reviewed all of the the Try...Catch code. * Resolved issue where the static function BuildRecordIdColumn required a spatial index on the Layer first. * Resolved issue where a System.AccessViolationException would be thrown when redrawing the map. * Resolved issue with WMS when using a Web Proxy. * Resolved issue where dragging two raster layers to Explorer throws an exception. * Resolved issue when a Layer's zoom level did not work under a projection other than WGS 84. * Resolved issue with ScalebarAdornmentLayer. * Resolved issue with RectangleShape.ExpandToInclude. * Resolved issue where WmsService would not work with HTTPS/SSL. * Resolved issue where mapEngine.OpenAllLayers() would not open an AdornmentLayer. * Resolved issue where the Geographic.Unit and DistanceUnit in BaseShape.Buffer() were reversed. * Resolved issue with BuildIndex where getting all features would not work. * Resolved issue where QueryTools.GetFeaturesContaining would not work when features are in the transaction buffer. * Reintroduced the AreaShape.GetCrossings method (which was previously present in Map Suite 2.0). * Reintroduced support for raster files (ECW, MrSid, BMP, etc.) in Map Suite Explorer. * Removed the obsolete target framework for .NET 2.0. * A number of API additions and changes. See the API change log for complete details.