maproulette / maproulette3

MapRoulette, the micro-tasking tool for OpenStreetMap
https://maproulette.org
MIT License
128 stars 34 forks source link

Viewing task properties on the map pans the map away from the feature #1802

Open 1ec5 opened 2 years ago

1ec5 commented 2 years ago

When you preview a task that represents a feature with many properties, clicking the feature on the map opens a callout bubble and automatically pans the map to fit the callout. Then when you click the Edit button, iD is centered wherever the preview page’s map is currently centered, not where the feature is located, but iD doesn’t show the original feature’s location anymore.

I’ve seen multiple mappers get confused because of the offset. For example, if the point feature was supposed to be on the rooftop of a particular building, but now the map is centered on a different building, the mapper has to manually eyeball the correct building’s location by switching browser tabs. As a workaround, I tell them to click Edit before clicking on the feature to show the callout, or to pan back to the feature before clicking Edit. Actually, my personal workaround is to enable to Task Properties widget and never click on the feature on the map.

I guess it can be useful to open the editor to the current map center, especially for a large non-point feature that the user needs to zoom in on. But maybe there’s a way to meet the user’s expectations in both cases:

mvexel commented 2 years ago

You are right to call out that the popup / callout behavior needs to be addressed. Another way to do this is to not show properties in a callout at all, but rather in a separate widget.

I hadn't considered the data overlay option in iD yet, I don't think I've ever seen it used myself, so that would need some looking into. Intuitively I like it.

1ec5 commented 2 years ago

You are right to call out that the popup / callout behavior needs to be addressed. Another way to do this is to not show properties in a callout at all, but rather in a separate widget.

Yes, I personally use the Task Properties widget, but it can take up a lot of space that might go to waste in challenges that rely on copy buttons in task instructions and the like.

I hadn't considered the data overlay option in iD yet, I don't think I've ever seen it used myself, so that would need some looking into. Intuitively I like it.

iD accepts a gpx parameter that adds the given URL as a custom data layer. The Tasking Manager passes in a GPX file generated by the TM API (example). Despite the parameter name, you can pass in the URL of any file format supported by iD, including GeoJSON. I couldn’t find a MapRoulette API method that returns just the current task as a GeoJSON feature, so that would need to be added (and would be useful anyhow).

The custom data layer is read-only, but you can copy the tags from the feature pretty easily. Depending on the nature of the task, the layer could get in the way. For example, a challenge that’s only concerned with tag changes on existing OSM elements would have no need for the layer, because the element will be selected automatically. There’s an option in the Map Data panel to disable the layer, but it’s fairly obscure. Maybe the challenge could have an option to show the data layer or not.

Luzandro commented 9 months ago

Have the popups been disabled? I can't see them anymore