streetcomplete / StreetComplete

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

Place the crosshair in the screen center #5760

Open martinrieder opened 2 months ago

martinrieder commented 2 months ago

Use case

While doing surveys, I prefer the screen tracking my current position. When tapping the "current location" button twice, the icon turns orange and it pins to the screen center. The issue is that the crosshair is placed at a different screen location. Two scenarios that I have experienced:

  1. When I want to place a POI at my current location, I need to scroll the screen, in order to move the crosshair. The location tracking is turned off and I have to reactivate this after the object has been placed. I understand that in most situations, you would place an object that you see ahead of you. IMO this over-complicates placement of small things like street lamps, recycle bins, signs etc.
  2. I want to place a note by taking a picture at my current location. This also requires scrolling to my location and long-tapping the screen. It has happened to me a few times that the note was placed at the wrong location because I rotated the phone to take the picture, but similar behavior has been discussed in #5581 already. It is still possible to manually correct the location if you pay attention before submitting the note, which is why I am not intending to reopen the issue or to file another bug report.

Proposed Solution

Simply place the crosshair at the center of the screen, so it matches my current location when tracking is locked-in. Optionally, the preferred crosshair location may be selected from the settings menu.

I could also imagine some advanced behavior that would make the crosshair "follow" my current location at a fixed distance. Pinning it to the screen center seems like the lower hanging fruit, though.

Anyways, this would be a huge UX improvement by not having to always reactivate the location tracking. Additionally, it would avoid any issues about unintended placement of notes and objects when the screen is rotated.

Nick-Tallguy commented 2 months ago

Definitely agree on this. The first item I created was a bench which I had to move when I got home, as I had accidentally placed it in the middle of a car park about 30 meters from where I intended. Also, the distance away of the cross hairs is difficult to judge with no scale on the screen. Now I always walk up to the object and then adjust the screen to put the cross hairs on me before creating an object.

westnordost commented 2 months ago

I am aware of this issue. It is a bit difficult with tangram-es, my hope is that it will be easier with MapLibre. I actually did (attempt to) change something here, but not sure if I succeeded. Will need to check. (Assigning to me for checking)

Ideal would be if the user's location and also the crosshair would be in the center of the screen, and when a bottom sheet for quest or overlay input appears, the mentioned center is recalculated to be in the center of the visible map area above the bottom sheet. I.e. it shifts up

westnordost commented 2 months ago

Checked. It looks like it is the same in MapLibre. I remember I tried though. I will defer this until after migration to Compose. In the meantime, others are of course invited to give it a try.