MapRVA's web application and interactive map, built as a Progressive Web App (PWA). This project aims to provide a rich, accessible mapping experience for the Richmond, VA area.
Contributions are welcome! If you have ideas for new layers, improvements to the interface, or bug fixes, feel free to contribute.
Adding a new layer is designed to be straightforward:
- Define the Layer: Create a new JavaScript file in the
layers/directory (e.g.,layers/my-new-layer.js). - Export the Layer: Follow the structure documented in LAYERCONTROL.md.
- Register the Layer: Import and add your new layer to
layers/index.js. - Add Assets: Place any required data (GeoJSON, sprites, icons) in the
data/directory.
The data/ directory is used to store assets for the map layers:
- Layer Icons: Top-level images (e.g.,
data/surveillance.png) are used as icons in the layer control menu. - Layer Assets: For complex layers, assets are organized into subdirectories (e.g.,
data/surveillance/). This may include:data.geojson: The geographic data for the layer.sprite.png&sprite.json: MapLibre sprite sheets for custom icons.svg/orsvgs/: Source SVG files used to generate sprites.
- Layer Control & Layer Definition - Technical details on how layers are defined and how the custom layer control works.
This project is released into the public domain under the Unlicense. See the LICENSE file (if available) or individual data directories for specific dataset licenses.