-
-
Notifications
You must be signed in to change notification settings - Fork 870
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Visual clustering of POIs on map #8372
base: master
Are you sure you want to change the base?
Conversation
Implemented a recursive function based on Hierarchical Clustering, which clusters POIs together if the distance between them is smaller than the 'threshold'. This threshold is calculated using the Viewport's dimensions, changing everytime the users zooms in or out. We also created the code to assign a mark symbols to these clusters. Co-authored-by: Dinis Caroço <[email protected]> Signed-off-by: Beatriz Mendes <[email protected]>
Wow, it's a tricky implementation using our current icons without new entities. Nice job! I'd like to get more UI/UX feedback here. |
I haven't built it yet, but see a missing part of what happens when I tap on the "cluster". |
There are crashes with zero-sized search results/clusters on the desktop with viewport search (e.g. food) |
For now on non-clustered maps I can distinguish cafe/restaurant/fastfood by different icons. In clustered view it is not possible to see what is the type it until it is clicked. |
This should be an option IMHO. I prefer "No Clustering" because I can clearly see exact locations and types of places. |
Keep in mind, that in the current public release implementation POIs that are too close to another POI are hidden until you zoom in further. So you can never be sure that the app displays all POIs. |
Maybe activate this merging only when some POIs are not displayed? I remember how I tried to use one website with walking routes (don't remember it's name) where they merged all routes around a city to a single cluster "POI" placed to the city that need to be clicked and then routes are selected to be displayed one-by-one. So instead of convenient review and compare of multiple routes on the same map only one was visible each time - it was a nightmare. |
Beatriz and Dinis, thanks a lot for starting this PR! I've tried to play with it (on a desktop) and got several crashes while searching for things. As mentioned above the chosen clustering thresholds seem to be too big. IMO (and also mentioned above already) the current biggest issue is that OM just hides search results when they're too close / overlapping a lot. Otherwise there is no point to cluster already visually distinguishable results. |
Closes #8291
We cerated a recursive function to cluster marks on the map to improve visibility while searching. We also created the code to give these mark clusters a symbol that shows the number o marks in each cluster. We did not, however, create the symbols themselves - we are using number symbols already present in the project as placeholders.
As mentioned in the title, the clusteringis purely visual: nothing happens when you click on them. Unfortunately, we did not have time to implement this...
Screenshots of changes