====== Map Suite Web Edition Features & Bug Fixes Change Log ====== =====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.