mapguide-react-layout is a modern map viewer for MapGuide.
It is built from the ground up with modern web technologies (React, OpenLayers, TypeScript) to be the definitive map viewer for MapGuide Open Source or Autodesk Infrastructure Map Server
It aims for major compatibility with the existing Web Layout (AJAX Viewer) and Flexible Layout (Fusion) configuration documents that drive the existing AJAX and Fusion map viewers, ensuring an authoring and development experience similar to MapGuide's existing viewer offerings.
This project is not affiliated with Autodesk or OSGeo.
- MapGuide Open Source 3.0 or equivalent version of Autodesk Infrastructure Map Server (and newer versions)
- A modern web browser. Practically speaking, this means any of the following:
- Google Chrome (stable channel)
- Mozilla Firefox (stable channel)
Internet Explorer 11. Older versions (intentionally) not supported.- Microsoft Edge
- For mobile devices:
- iOS: Mobile Safari
- Android: Google Chrome or Mozilla Firefox
- For development: node.js 6.x or newer
- Make sure yarn is installed
npm install -g yarn
- Make sure yarn is installed
- Clone this repository
- Run from the command-line:
yarn install(note: If this fails for you on Windows, just run it again - Related issue) - Either:
- Copy the
viewerdirectory to MapGuide's physical wwwroot directory - Map the
viewerdirectory as a child virtual directory under the MapGuide's wwwroot in your web server of choice (IIS or Apache)
- Copy the
- Launch the viewer using a pre-defined template (see
Templatesbelow)
- Download the
viewer.zipfrom theReleasessection - Extract the archive to MapGuide's physical wwwroot directory
- Launch the viewer using a pre-defined template (see
Templatesbelow)
If you need a MapGuide Server to run this viewer against but don't want to install MapGuide bare metal, a Dockerfile is included to easily build and spin up. A convenience mapguide-devenv.sh is included to facilitate this.
To build the MapGuide docker image:
./mapguide-devenv.sh build
To spin up this MapGuide docker container:
./mapguide-devenv.sh run --packages-dir $PWD/docker/devenv/packages --www-dir $PWD/viewer --target-dir viewer --repositories-dir $PWD/docker/devenv/server-data
The MapGuide web tier will then be accessible from port 8008. The server's repository data is volume mounted to docker/devenv/server-data so your data will persist between container runs.
If you need to load any packages, drop the .mgp files into docker/devenv/packages and then load them with the Site Administrator accessible at:
http://localhost:8008/mapguide/mapadmin/login.php
The viewer will be accessible from viewer like so:
To faciliate a rapid developer loop for your viewer against this running MapGuide Server, run yarn watch:dev after spinning up the MapGuide container.
See TEMPLATES.md for more information ahout the templates provided with this viewer and how to launch the viewer with a given template
See KNOWN_ISSUES.md
See RELEASE_NOTES.md
mapguide-react-layout could not be possible without the following tools and libraries:
mapguide-react-layout uses icons from the Fugue icons set, by Yusuke Kamiyamane
mapguide-react-layout is licensed under the MIT license.