MapGuide Maestro Developer Documentation
This page describes how to use the MaestroAPI from the MapGuide Maestro project in your own application.
NOTE: Most of this content is out of date and refers to MaestroAPI for Maestro 2.x and older releases. For the latest developer documentation for Maestro 3.x and newer, consult the documentation in the Maestro SDK
The official API for MapGuide is a wrapper for the C++ classes, and focuses on portability and map interactions with the displayed map. The MapGuide server has a large set of functionality that handles authoring and managing maps and spatial data. This functionality is only exposed through a few methods that allow reading and writing of Xml. The C++ classes are wrapped for PHP and Java as well as for .Net. This means that they do not support native streams or other .Net components. The C++ classes communicate with the MapGuide server through a dedicated port. This means that it is only possible to interact with servers on the local intranet (opening the port is not recommended for security reasons).
The MaestroAPI attempts to deal with those shortcommings. It exposes all the Xml structures in the MapGuide server as managed .Net classes. It reads and writes .Net native streams and documents. Finally it has an optional usage that will communicate with the standard installation of the Web server through regular http communcation. This last point makes it possible to write standalone applications that manage the server, just like the MapGuide Maestro application does.
The developer contents currently consists of the following pages:
- Basic MaestroAPI Basic explanation of the MaestroAPI and features.
- Code overview An explanation of different parts of the MaestroAPI.
- MaestroAPI.chm A compiled help document describing the MaestroAPI 2.x details (If you are unable to use it, try rightclicking the file and choose "Properties", then click "Unblock").
- Native API Versions An explanation how to use the LocalNative connection with different MapGuide versions.
If you want some extra information or explanations, please ask at the MapGuide Users Mailing list. You may add your own examples of MaestroAPI usage here:
Notes regarding API changes can be found here: