This is an interative mapping application which enables you to publish overlay layers onto an Ordnance Survey base map.
This application is designed to server the overlay layers using the free and open-source Geoserver, however, it wouldn't be too much effort to rework the application using any map server that has a WMS or WFS end point.
- Geoserver - back end server and data provider, installed and configured seperately.
- OpenSpace.js - OS OpenSpace® application programming interface (API) allows OS maps to be embedded and displayed on your web page or online application. This also includes the OpenLayers library.
- Backbone.js - helps keep things modular
- Inuit.css - a powerful, scalable, Sass-based, BEM, OOCSS framework from @csswizardry
- NPM - NPM is included as part of Node.js
- Install the latest stable version of Geoserver, the WAR file is easily deployed on Apache Tomcat
- Run your Geoserver instance, if you're working locally to begin with, you'll probably find your Geoserver at http://localhost:8080/geoserver
- Install the CSS Module to make styling Vector Layers a bit easier
- Setup a Workspace called 'Overlays'
- Add a Data Store to the Workspace
- Publish some Layers to your Data Store
Register for OS OpenSpace®
- Head over to the OS OpenSpace® website and register for an API key
- Save the API key somewhere safe.
Setting up the application
- Copy this whole repository into your web directory, e.g var/www/html/interactive-mapping
- From the command line, change the directory to your interactive mapping directory
- Run 'npm install' to install grunt and its dependencies
- Open the js/app.example.js file ready for editing
- Completing the configuration in app.example.js
- Rename app.example.js to app.js
- Grunt will continue to watch for changes, as you save files it will recompile
- For the front end application you'll need to deploy
- plus any other files you've added
- Also note, your app.js file will need to be compiled with the correct urls for your live environment if they're different from your development environment.