GithubHelp home page GithubHelp logo

manzanotti / saferstreetmaker Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 1.0 1.1 MB

A map creator for adding potential active travel measures

License: GNU General Public License v3.0

HTML 21.68% TypeScript 71.53% CSS 6.64% JavaScript 0.15%

saferstreetmaker's People

Contributors

manzanotti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jonfreer

saferstreetmaker's Issues

Add a coloured legend

The current layer selector doesn't give you any indication of what each layer actually looks like on the map. Sure, you can work it out by turning each layer off and on, but that's not great.

Add a legend showing what each piece of infrastructure looks like on the map.

Show two maps side-by-side

Probably needs to wait for the ability to select which map is displayed, but have a split-screen mode, where two maps can be shown next to each other.

Could be good for displaying different suggestions for an area.

Load file from a remote location

It would really allow sharing of maps to be able to load a file from a remote location, and include that location in the url.

Add traffic lights

Probably just have the one marker whether they are for pedestrian lights or full junctions.

Would be nice to allow the user to orient them against the road, however that could be a later feature.

Requires #105 to be implemented, as this feature will be in a group with #56.

Add one-way streets

This will require some kind of line with arrows on it, to indicate the direction of lane.

Update zoom and centre when the sharing popup is open

The map centre and zoom levels are passed into the control when it is opened, so if the user moves the map or changes the zoom level, the control will have to be closed and re-opened for these to be reflected in the iframe code created.

I think that leaflet,js fires events for those two scenarios, but I'll have to check.

Export GeoJSON

The map file currently exported is explicitly for the site. Whilst it contains the GeoJSON for the map, it also contains the information required to recreate the individual layers.

Add a button to export just the GeoJSON, so people can import the map into other mapping software.

Save map to url hash

Investigate whether this is smaller as Base64-encoded zipped GeoJSON data, Base64-encoded zipped custom data, or url-escaped JSON.

Loading maps from December 2022 fails

For some reason, when saving the map, there was a period when the line coordinates was being nested inside an extra array. I have not been able to work out why that happened, but in the meantime, just check to see if there is an extra level of nesting when loading the lane.

Line coordinates are broken

They are currently being nested inside an array, when they shouldn't be.

The loading code needs to cope with this, as it's been like this since November 22.

Reference map file from OneDrive

As OneDrive links to files do not include file extensions, JSON files stored on OneDrive cannot be loaded by the site, due to browser security restrictions.

There is, however, a OneDrive API. Investigate whether using that will allow map files to be loaded from there, and possibly saved to there too.

Rename event topics

Given the name of the class is EventTopics, the properties and values themselves do not need the word 'topic' in them.

Reference map files from Googe Drive

As Googe Drive links to files do not include file extensions, JSON files stored on Googe Drive cannot be loaded by the site, due to browser security restrictions.

There is, however, a Googe Drive API. Investigate whether using that will allow map files to be loaded from there, and possibly saved to there too.

Move to full TypeScript type checking

Parceljs doesn't run any TypeScript type checking.

It can't be turned on currently, due to the lack of typescript definition files for the following leaflet plugins:

leaflet-draw
leaflet-toolbar
leaflet-arrowheads
leaflet-polyline
leaflet-path-drag

So, would have to look into producing typing files for those.

Add a viewfinder to the sharing popup

The sharing popup asks the user to set the dimensions of the embedded map, however it gives no visual indicator as to what section of the map will be displayed in that embedded map.

Add a shaded rectangle over the centre of the map that shows the area that will be displayed.

Read-only mode

When embedding a map in a blog post, there's no need to be able to change the map.

Add a setting that removes the drawing toolbar, and makes all map elements non-editable.

Add car-free streets layer

Pedestrianised treets, basically. Make them green. Might need to make the modal filters look different to so they don't blend in to these too much.

Add zebra crossings

Would be nice to allow the user to orient them against the road, however that could be a later feature.

Requires #105 to be implemented, as this feature will be in a group with #57.

Add LTN cells

Will need to be able to have a map layer of coloured polygons that users can draw.

Ideally, the user would be able to select the colour of each cell, though maybe initially they can just rotate through a preselected list of colours.

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.