Giter Club home page Giter Club logo

railfansmap's Introduction

railfansmap's People

Contributors

acquahki avatar danielburgoyne7 avatar davidbellerive avatar dellisd avatar renovate[bot] avatar sseguin613 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

railfansmap's Issues

Re-implement url parameters to override certain options

In the old version of the map, including the stage3 parameter in the url would override the user's stored option and display the Stage 3 Kanata alignment.

This needs to be re-implemented in the new version and support all options that are disabled by default.

Add sharing feature

Some elements of the map can be controlled by url parameters as in #25 which can be very useful for sharing certain views of the map that may not be visible by default.

It would be helpful to include some way to make it easy for any user to be able to share a url with these parameters already set so that the same view with all of the appropriate layers and basemaps enabled is available to whoever uses that specific url.

This feature should show the url that will be shared and provide two toggle-able options for sharing:

  • Share map at this location, which will include the location hash that Mapbox uses
  • Share this view, which will add the url parameters to force the layers and basemap used to be included in the shared url

Add animated train icons along the tracks

Using either schedule or realtime data, create an overlay of train icons that are animated along the tracks to indicate the current positions of trains in the system.

Include CNAME in builds

Right now the build output doesn't include the CNAME file which causes issues when a build is pushed to gh-pages.

Add current map position to URL

Add the X/Y and Z coordinates as URL parameters to allow specific views of the map to be easily shared just by copying the URL with the position info.

When the page is loaded, the URL params are checked and the map is navigated to the correct position and zoom.

Improve Documentation

Currently this project lacks any significant documentation. With a future push for external contributions (primarily for map data), some documentation should be written to make it significantly easier to contribute to this project with a special focus on creating and adding data to the map.

Add handling of multiple cities

Handle the display of multiple cities. At low zoom levels, the names of available cities should be displayed.

The map layer settings panel will have to be reworked to also support controlling different cities. In general, it should only show the options for the region(s) that is currently being viewed. This only applies if a high enough zoom level is being used. In some cases, multiple regions may need to be displayed, so the panel will need to be capable of handling multiple regions together.

Lastly, the data for each region should be loaded dynamically, and lazily. (#26)

Add Stage 3 Kanata extension data

This data is available from the report given to council. It will be available as an optional data set to display on the map (likely also as a URL parameter).

Add Tunnels and Bridges/Elvated to map

Indicate which sections of track are in tunnels (downtown, between Dominion and Lincoln Fields) and which are elevated (Hurdman, flyover at Lincoln Fields).

Show "future" tracks

Some storage and pocket tracks are part of existing or planned projects, but will not be constructed until a later date, such as the pocket track east of Hurdman, and additional storage tracks at Baseline.

These should be indicated with a dashed line.

Add a search bar

Add a search bar to the viewport which would allow a user to search for things, e.g. for a particular station, or a particular rail line.

This would likely be implemented using sql.js to take advantage of FTS.

Lazy load map data

Currently map data is compiled into the site's script bundle and loaded synchronously with the rest of the site's code, but this will scale poorly as more data is added.

Load the data asynchronously instead and only when it is required (i.e. only when the data would be in view).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.