osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.65k stars 1.02k forks source link

Make our map fully interactive #1862

Closed sonora closed 8 years ago

sonora commented 8 years ago

Edit: See suggestion further below: Rather than what I originally suggested here, I think a great feature for our app would b to make the map fully interactive by having an always-on transparent POI layer. The list-display and selection mechanism for when you tap an area with multiple overlapping POIs is already in place for the POI layer, so WYSIWYG should not be an issue.

As originally reported in Issue #1841: It would be nice to not only display the street name (finally address), but also see a short list of the say 3 or so closest POIs when long-tapping anywhere on the map, maybe as selection list under the details section of the Context bubble, or similar to how we already have it for the POI layer when user taps an area with several close-together POIs.

sonora commented 8 years ago

I thought about this some more and still think it is a much needed feature to "discover" things on a map, e.g. while on a sightseeing walk. I think the least intrusive way to implement it in our code and UI is to simply add a menu entry "Nearby POIs" to the 3-dots menu of our context display, which would call our existing Search POI / Nearest POIs screen?

OpenSourceForEver commented 8 years ago

I think a nice idea is to show POI'S information with a long tapping in the POI, Something similar to clicking a POI in the big company started by G (I do not know if i can use the name of the company).

amenk commented 8 years ago

:+1: How much effort is this feature? I might be able to sponsor it.

vshcherb commented 8 years ago

If you ask me that feature design could take between 1-10 days and discussions, and the implementation could definitely take from 3 to 7 working days, of course depends on details. Though it all requires clarification and thought through corner cases.

For example, which kind of POI need to be displayed, is there any preference, do they need to be displayed just on the bottom in context menu, sorted by distance?

amenk commented 8 years ago

I was actually heading here from #2178 (was marked as duplicate) ... I just want to be able to click such POIs which are already visible on the map. So maybe #2178 is not that much duplicate as supposed.

vshcherb commented 8 years ago

2178 is planned (but not the highest priority though) and it will take 2-3 weeks of development (as we calculated).

littlehelper commented 8 years ago

+1 As mentioned here and in #2018, #2178, tapping a POI directly or selecting it via a selection menu showing the closest POIs when long-tapping on the map close to the POI would be great.

The selection menu could be similar to the menu shown when tapping close waypoints/markers. In addition, the first entry should be the current location, clicking on it shall open the already implemented POI menu including address lookup which is shown when long-tapping somewhere on the map. If it would be possible to even select the (closest point of the) road close to the marker, creating waypoints precisely on roads would be easy (in compare to snapping to road, #1696).

sonora commented 8 years ago

As I have already described eslsewhere, I think all that needs to be done is this:

I think an implementation like this is a huge step towards the kind of interactive behavior users can expect from an electronic map!

The resulting app behavior can essentially be tested today already by activating the "nearest POI" filter. (without transparent look and without full long tap capability). I have been running it for many trips and like it quite a lot. See also Issue #1447.

raindropsfromsky commented 8 years ago

I'd suggest a variation to what Sonora suggested:

As the user moves in the area, OSmAnd makes POIs around him (i.e., the current location) visible. This "POI visibility radius" can be adjusted with a slider.

So both short and log taps can be used for other actions.

raindropsfromsky commented 8 years ago

For example, long-press on any other place on the map to toggle the visibility of POIs around that spot.

I am assuming that when POI becomes visible, it becomes tappable also.

amenk commented 8 years ago

Why can it not be done as in Google maps... just make the icons click able. Drawbacks?

vshcherb commented 8 years ago

Transparent POI Layer is a good idea but it might contradict of principle what you see is what you get. We have that feature in iOS already and we plan to move to the common engine next release.

sonora commented 8 years ago

@vshcherb , @crimean Victor, Alexey, some very cool progress here, I love it! This is a big quantum leap for OsmAnd, we are entering a whole new field of possible use cases for the app!

One thing I still notice is this: When tapping on a Transport stop, we currently get the context menu for the POI "Transport stop", while it would be really cool if we could get the context menu for the "Transport layer's" transport stop (with all the functionality associated with it, like being able to tap on and highlight transport routes, etc.)

Best - Hardy

utack commented 8 years ago

@sonora nice idea on the transport stops Even better: show and highlight all public transport tracks that use this stop, while it is selected

amenk commented 8 years ago

Can somebody explain the new feature? I still can not click POIs. Is that intended? Thank you in advance.

vshcherb commented 8 years ago

Implemented in nightly builds.

amenk commented 8 years ago

Ah okay ... interesting thing is, that something like this was mentioned in the changelog at Google Play.

sonora commented 8 years ago

@vshcherb Some remaining issues listed here #3101 and here #3106, as follows:

vshcherb commented 8 years ago
littlehelper commented 8 years ago

Great work! Thank you for implementing. Greetings

sonora commented 8 years ago

@vshcherb Yes, increasing the tappable area for the icons a bit is a good thought. Here is a test: Try to hit this bus stop http://www.openstreetmap.org/node/3922266263: Very difficult. Actually, You have to tap this node http://www.openstreetmap.org/node/3922280663, invisible in the vicinity. (The visible one with the icon is the platform, and it accepts no taps, but users will not know this). Best fix is to increase the hit areas a bit. This test example is particularly annoying because missing the bus stop will immediately result in having tapped the underlying suburb area.