152a08f9229d4e83e72c6ec1f8773389ae2ccfc6
Panning/zooming now updates #map=<zoom>/<lat>/<lon> in the URL, and loading a URL with one already opens at that view instead of the default center — so copying the URL bar shares the exact spot someone's looking at, and a page reload doesn't lose the current view either. This is MapLibre GL JS's own built-in Hash control (hash: "map" on the Map constructor) — it already does exactly this, replaceState and all, no custom code needed.
MapTool
Table of Contents
A mapping application written in Ruby with Sinatra.
The project’s shape is still open — this is the initial scaffold.
Status
Early scaffold. The web application serves a vector map (MapLibre GL JS), with an online style and an optional offline style backed by a local PMTiles file, an animated RainViewer radar overlay, GPX upload/display (points and tracks, organized in folders), and a live position marker from a local GNSS receiver via gpsd.
Requirements
-
Ruby (see
.ruby-version) and Bundler
Getting started
bundle install
bundle exec puma -C config/puma.rb
Then open http://127.0.0.1:4567 in a browser.
Documentation
Languages
JavaScript
48.7%
Ruby
43.6%
CSS
6%
HTML
1.2%
Dockerfile
0.5%