API changes.
- New API in version 5.2
- New API in version 5.1
- New API in version 5.0
- New API in version 4.9.5
- New API in version 4.9.4
- New API in version 4.9.3
- New API in version 4.9.2
- New API in version 4.9.1
- New API in version 4.9.0
- New API in version 4.8
- Removed in version 4.9.3
- API members that were Deprecated
Changes in version 5.2.
Release notes (24 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10605
- Compiled with VS2015 and VS2017, thus depending on VC++ 2015 or VC++ 2017 redistributables (included in the installer)
- Using GDAL 2.4.4, released 2020/01/08
Changes in version 5.1.
Release notes (35 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10602
- Compiled with VS2015 and VS2017, thus depending on VC++ 2015 or VC++ 2017 redistributables (included in the installer)
- Using GDAL v2.4.2, released 2019/06/28
Changes in version 5.0.
Release notes (21 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10400
- Compiled with VS2015, thus depending on VC++ 2015 redistributables (included in the installer)
- Using GDAL v2.3.3
- Improved UniCode support
- Enabled HTTPS connections
- Added some new geospatial functions
- We're now using semantic versioning
Changes in version 4.9.6.
Release notes (11 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10600
Changes in version 4.9.5.
Release notes (31 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10102
Changes in version 4.9.4.
Release notes v4.9.4.0 (10 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10008 Release notes v4.9.4.1 (1 issue): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10300 Release notes v4.9.4.2 (1 issue): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10009
Changes in version 4.9.3.
Release notes (12 issues): https://mapwindow.atlassian.net/secure/ReleaseNote.jspa?projectId=10003&version=10007
- Added support for variety of vector datasources through GDAL/OGR drivers.
- spatial databases (PostGIS, MS SQL, SpatialLite, etc.)
- commonly used vector formats (MapInfo TAB, KML, etc.);
- listing of layers in datasource using OgrDatasource class;
- adding of OGR layers on the map using OgrLayer class (AxMap.AddLayer);
- SQL queries against datasource (OgrDatasource.RunQuery, OgrDatasource.ExecuteSQL);
- editing and saving of changes back to datasource (if particular driver supports it);
- saving of style information (either .mwsymb file or as a table in RDMS datasource);
- integration with all previously written shapefile-based client code;
- Built-in Shape Editor. Supports:
- creation and editing of shapes, parts and vertices (cmAddShape and cmEditShape tools);
- group operations on the number selected shapes (cmMoveShapes and cmRotateShapes tools);
- overlay operations (cmSplitByPolyline, cmSplitByPolygon, cmClipByPolygon, cmEraseByPolygon);
- undo/redo capability for all the operations (UndoList class);
- snapping to the vertices of existing shapes (ShapeEditor.SnapBehavior);
- dynamic display of area, length of segments and their bearing;
- user events (AxMap.BeforeShapeEdit, AxMap.ValidateShape, AxMap.ValidationFailed, AxMap.AfterShapeEdit);
- ShapeEditor class to control various settings (available via AxMap.ShapeEditor);
- .NET Demo application which demonstrates the usage of the latest API:
- opening of shapefiles, rasters and OGR vector layers (PostGIS layer and diskbased formats);
- complete Shape Editor;
- TMS tiles from the range of servers;
- geolocation dialog.
- Improved selection tool:
- selection can be done automatically now (no need to handle SelectBoxFinal event );
- a layer to select from can be specified by handling AxMap.ChooseLayer event;
- nicer rendering of selection rectangle;
- new cmSelectByPolygon tool;
- New tool to display shapefile attributes (cmIdentify ):
- can highlight shapes under mouse cursor during mouse move operations (fires ShapeHightlighted event);
- fires ShapeIdentified event, which can be handled by client code to display attributes;
- works either for a selected layer or all layers at once (Identifier.tkIdentifierMode);
- Improved API to handle projection mismatch for layers:
- AxMap events: LayerProjectionIsEmpty, ProjectionMismatch, LayerReprojected;
- GlobalSettings properties: AllowLayersWithoutProjection, AllowProjectionMismatch, ReprojectLayersOnAdding;
- decision about adding/rejecting layers can be taken on per-layer basis by handling events;
- Improved error reporting:
- Major decrease of memory leaking:
- Smaller API changes
- Important fixes for unmanaged IDEs:
- division by zero error in Borland C++ Builder;
- correct shutdown of GDI+ (affected MFC and VB6);
- a fix for MS Access form designer;
- Update of tile providers:
- methods to set API keys for Bing Maps and Here Maps (GlobalSettings.BingApiKey, GlobalSettings.SetHereMapsApiKey);
- free MapQuestAerial provider was added;
- Yahoo maps and Topomapper providers were removed (services were discontinued);
- Yandex maps providers were removed (license limitations);
Changes in version 4.9.2.
- New zoom bar (AxMap.ShowZoomBar):
- displayed when map has a projection;
- depends upon selected tile provider.
- Enhanced handling of online tiles:
- animation for zooming and panning operations (AxMap.AnimationOnZooming, AxMap.InertiaOnPanning);
- in native projection mode snapping to the closest zoom level on all changes of extents;
- no scaling in native projection (tile size will be exactly 256 by 256 pixels) and adjustment as close as possible to original size in non-native projection;
- correct rendering of GMercator tiles in WGS84 projection (extrapolation outside world extents);
- no duplicate HTTP requests, reduced number of cache searches;
- reduced number of available zoom levels when server and map projections don't match to avoid distortions (GlobalSettings.TilesMinZoomOnProjectionMismatch);
- Built-in GDAL overview creation and recognition for grid datasources:
- GDAL overviews creation and usage will be chosen as preferable option over creation of proxy image;
- proxy images will be used only if they were already created or if their creation is requested explicitly;
- the number of overviews is chosen automatically (GlobalSettings.MinOverviewWidth);
- overviews are stored in external .ovr file for original grids and as built-in data for TIFF proxy images;
- compression can be specified for TIFF proxy images (GlobalSettings.TiffCompression).
- Built-in projection mismatch behaviours (AxMap.ProjectionMismatchBehavior):
- affects AxMap.AddLayer and AxMap.AddLayerFromFilename;
- if datasource projection doesn't match map projection layer adding operation can be cancelled;
- reprojection on the fly is available as an option for shapefiles;
- default behaviour is pmbIgnore which is the same as behaviour in previous versions.
- Note
- Substituted with another set of API members in version 4.9.3.
- New polygon coloring algorithm, which works on assumptions defined in Four color theorem, but uses fast heuristic which can employ somewhat more colors than optimal solution (ShapefileCategories.GeneratePolygonColors).
- New OpenStreetMap Humanitarian tile provider.
Changes in version 4.9.1.
- Enhanced handling of grids:
- New FileManager class:
- encapsulates possible opening strategies of Image and Grid datasources, reducing the routine coding needed;
- AxMap.AddLayerFromFilename to add data to map with a single line of code by using built AxMap.FileManager instance.
- Measuring tool:
- available as cmMeasure cursor for AxMap.MapCursor property;
- measuring of distance along polyline or area of polygon received from user mouse input;
- precise calculations on ellipsoid are performed by GeograpicLib if projection for the map is set.
- Enhanced scalebar & coordinates display:
- 3 scalebar modes including Google styled mode and nicer rendering (AxMap.ScalebarUnits);
- scalebar will perform precise calculation on ellipsoid if projection for map is specified;
- display of coordinates under mouse cursor (AxMap.ShowCoordinates).
- New properties to initialize map control from .NET form designer:
- Additional built-in keyboard shortcuts:
- "+" = zoom in;
- "-" = zoom out;
- "*" - zoom to the closest tile level;
- "Home" = zoom to combined extents of all data layers (max extents);
- "Backspace" = zoom to previous extents;
- "Shift + Left", "Shift + Right" - zoom to the prev/ next layer;
- "Z" = ZoomIn tool;
- "M" = measuring tool;
- "Space" = switches to panning mode; after releasing space the previous map cursor is restored.
- New functionality to initialize map projection from data layers:
- Support of discrete zoom levels defined by tiles providers:
- Methods for conversion of map coordinates to decimal degrees (if map projection supports this):
- tkKnownExtents enumeration for all countries:
- Unicode support for filenames in major part of code, although not everywhere yet:
- filenames are handled as UTF-16 strings;
- filenames are passed to GDAL methods and are serialized to XML as UTF-8 strings.
- New API members in GeoProjection class:
- Shapefile validation:
- Statistic operations on fields of attribute table for shape dissolving functions:
- More convenient properties to set visualization category for shape:
- New methods in Shape class: