streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.9k stars 355 forks source link

Select quests per level value #3068

Closed Strubbl closed 3 years ago

Strubbl commented 3 years ago

Use case

Around subway or train stations there are sometimes quests on almost the same location (lon, lat), but on different levels. It would be nice to filter quests by selecting the level. This way i could save time going up and down the levels a lot, e.g. because after every quest the level changes due to the quests hiding each other. It is also hard to stay oriented while running up and down due to no GPS. So when solving all quests from one level in a row i can stay oriented better.

Proposed Solution

Sorry, i only had that use case idea, but not a good solution in mind.

Solution 1: If SC detects that there are quests in the current screen, which address OSM objects being tagged with a different level value, show a "level selector" button in the upper right corner. When i click it, i can choose in a dialog which quest from which level i want to display. The dialog is pre-filled with the level values which are found in the surrounding area of my position. I can select a level and only quests with that level value are displayed. Of course the dialog has an option to reset the selection to default (which means show all quests)

Solution 2: When quests with different level values overlap, show only quests with the highest level at first. Then the ones with one level lower and so on.

westnordost commented 3 years ago

Hmm, solution 1 has been proposed before and it was rejected because it would add clutter to the UI (X more buttons which might even be confusing to users).

For solution 2, I am not sure how this could be done. Currently the only thing a quest on the map "knows" is the ID of its associated OSM element and the quest type.

I think solution 3 would be the best: If the app could actually appropriately display an indoor map, one could tilt the map and the markers for the different levels would actually be on different levels. (And maybe then combine it with solution 1 because then the user would actually see what the buttons do other than seemingly randomly hiding/showing quests) Hovewer, solution 3 is not at all technically possible yet. No map renderer I know of supports this out of the box and trangram-es (current map renderer library) does not support it anyway.

FloEdelmann commented 3 years ago

For solution 1, see #2874.

Strubbl commented 3 years ago

No problem, was just an idea i had while going up and down for completing quests. Another use case was mapping in a mall, which has several floors.

Solution 2 would introduce another quest order to first sort by level and then each level by the usual quest order. Compared to solution 1 it would still be hard to see all quests, which are on the same floor. As user i would have to click every quest to see which level they are on.

Until we have a good idea for a solution, which can be implemented and does not clutter the UI, we can close this issue.

moogaem commented 2 years ago

I see the problems attributed to solution 1 (a butten more). I would like to vote for this solution despite the problem of having one more button in the UI. I like to do this because otherwise mapping at (mostly urban) spots e.g. with underground structures becomes really time-consuming and frustrating, since you often have to cancel answering questions since they're on other levels.