FacilMap / facilmap

FacilMap is a privacy-friendly, open-source versatile online map that combines different services based on OpenStreetMap and makes it easy to find places, plan trips and add markers, lines and routes to custom maps with live collaboration.
https://facilmap.org/
GNU Affero General Public License v3.0
317 stars 21 forks source link

Allow creating routes more easily by clicking the map #284

Open rhyst opened 3 months ago

rhyst commented 3 months ago

I think this is a fairly common way of plotting routes on various apps:

In Facilmap the updating route editing is possible and pretty close to this but slightly clunky. You can click to create map points and then use the "Route Via" option. If you create the Start and Destination points first, and then calculate the route then you can add "Via" points and the route will update on the map. Most other apps work as though you are appending a new "Destination" and the previous destination becomes a "Via point".

It does not seem like it is possible to change the routing mode for each leg of the journey in Facilmap but IMO that is a "nice to have" feature.

So is the addition of a mode where new clicks on the map are interpreted as appending a destination possible?

Thanks!

cdauth commented 3 months ago

I would be curious whether you have tried to create to create a collaborative map and create a line there using the “Add” → “Line” item in the toolbox. Would a UI like that be suitable?

I could also imagine to split up “Route destination” in the “Use as” menu into something like “Set route destination” and “Add route destination”.

Regarding having a different route mode for each route segment, could you explain what you use this feature for exactly?

rhyst commented 3 months ago

Ah yes, that is almost exactly what I want! I think the missing part of the feature is to be able to select the routing type and have the snapping to paths happen as you add each point (though maybe I have missed how to do that as well!). I see that at the moment I can draw and then select different routing types after I have finished drawing.

The use case for different modes for different segments is maybe slightly niche but I often use when planning a hike or something. Two paths might go quite near each other but not intersect but I think I can just walk between them anyway. In this case I would switch to a straight line mode to cross the gap and then switch back to walking routing. This is also useful in cases where there is bad map data and two paths are not correctly joined when they should be.

cdauth commented 3 months ago

I'm still a bit skeptical about introducing multi-mode routes. I’m worried it might make the app too complicated. Particularly if you want to modify the route later.

It should be noted that there is a special type of line called "track". The difference between a track and a regular line is that a line consists of a few waypoints and the way between them is calculated, where as track consists of many track points that fix the exact course of the path. Right now a track can only be created by importing a GPX/GeoJSON file or by adding a line/polygon search result to the map. But I am planning to add some features with regards to tracks:

I believe with these features, you would be able to achieve what you want. You would add separate lines for the different segments of your route and later combine them. Do you think that would work?

Apart from that I would make the following changes:

A general problem that I notice here is that it is difficult for users to discover that to do advanced things they have to create a collaborative map first, even if they don’t want to collaborate on it. I don’t have a good solution for this yet.

rhyst commented 3 months ago

I think being able to draw routes like lines, and then being able to combine them into a track would work very nicely for my use case as long as starting a new track/route/line in a different mode is just a couple clicks. Generally what I am trying to create are tracks for uploading to GPS or phone map app.

As for discoverability I assumed that collaborative maps would be the same features I could already see but with some sharing. I don't know if that's just because of the naming, but naming stuff is hard 😆. Personally I think seeing a modal or popup on first load telling me that there are more advanced features if I create a collaborative map would be acceptable and helpful.