Thursday, 19 January 2012

mg-desktop has moved

With the implementation of MapGuide RFC117, I have finally migrated the source code for mg-desktop from its current home at Google Code to the official MapGuide Subversion repository

This migration allows for the mg-desktop codebase to better integrate with the MapGuide source that it builds on top of, and allows mg-desktop to receive upstream component fixes and updates much faster and allows for sharing of component dlls with future releases of MapGuide.

Also with everything together in one place, I can finally tackle some of the more interesting things like 64-bit and Linux builds and support for the VS2010 compiler.

The existing Google Code site will remain for archival purposes, but all mg-desktop development will now take place on the official MapGuide repo.

Since we're on the subject of mg-desktop, I might as well show you a visual changelog of the changes and features added to mg-desktop since I first announced it. Most of these changes I am showing in this post are centered on the map viewer component (otherwise there wouldn't be much to show :-)). So without much further ado:

1. Tooltip queries can slow down map interaction, so the default viewer toolbar now includes a command allowing you to toggle display of feature tooltips.

2. The viewer supports customizable selection color

3. To facilitate rapid development, the viewer component works with the Visual Studio designer infrastructure. Viewer properties and behaviour can be modified like you would any other form or control. The OSGeo.MapGuide.Viewer.dll must be registered with the Visual Studio Toolbox to support this workflow.

4. The default viewer toolbar has more useful commands such as:
  • Copying the current view of the map to the clipboard (as an image)
  • Selecting by radius and polygon

5. The legend control now functions like the one in the AJAX or Fusion viewer. Supporting display of themes, and having the ability to apply theme compression (because it too has problems with processing ridiculously large themes)

6. Layer and Group items in the legend control can have context menus attached to them

7. Like the AJAX and Fusion viewers, the property pane supports scrolling through the results of a selection set and zooming into individual results

At this point we have something approaching 90% of the functionality of the AJAX and Fusion viewers. The missing 10% are apparent once you see it:

  • No support for tiled maps. The viewer control has a property that allows tiled maps to be treated as regular groups of dynamic layers as a workaround. The math to calculate what tiles to fetch escapes me right now.
  • No mouse wheel zoom. The math to do this also escapes me right now.
If these items aren't dealbreakers for you, then mg-desktop is a more than suitable platform for building disconnected desktop mapping applications using the same MapGuide and FDO technology that you are all familiar with.

No comments: