When I have a cluster of 60 entities at the same location...

David Thielen 3,116 Reputation points
2024-03-24T00:39:08.61+00:00

Hi all;

My app can have 20+ entities at the same location. Not clustered because they are close, but they are at the exact same location. I figure up to 10, when the user clicks the pin, I pop up a list with links to each entity. But if I have more, say 60, then what?

These are a search result so they best I've thought of is a popup suggesting they refine their search.

Also, a couple of other UX questions - what is the standard way to handle:

  • When the user clicks a cluster that will be split on a zoom, should I center on that location and zoom in one level? And if a cluster is < 10 (say 3 entities), do I zoom or popup?
  • I should not have any popup when the user hovers over a pin (no click) - correct?
  • Anything else I should do aside from a popup when clicking the pin, and zooming in when a cluster is clicked?

thanks - dave

Azure Maps
Azure Maps
An Azure service that provides geospatial APIs to add maps, spatial analytics, and mobility solutions to apps.
715 questions
{count} votes

Accepted answer
  1. rbrundritt 18,061 Reputation points Microsoft Employee
    2024-03-25T16:17:32.52+00:00

    When you have a lot of items at the same location in a cluster there are several ways I've seen this handled:

    • Display a scrollable list of items in the popup. If there is a future date/time component, ordering from soonest to latest is common, and usually preferred over other orderings.
    • Show a count of the number of items in the cluster, display the first N number of items and have button to load more. Then append the next N to the list and continue to show the button. Alternatively, have the button "show all".
    • Use the expanding spider cluster UX. This is an interesting way to display things, but can be a pain with a lot of items. If each item has a "category" you can use different symbols for each item in the expanded state which gives the user a "visual filter", but it can still be a pain with a lot of items, so I would avoid this. You could use this when there is a small number of items, then show a different experience when there is a lot.
    • If you have search filters, then having a message recommending the user filter the search is a good idea. You could potentially have suggested filters as buttons/links in the popup that update the main search filter for the user to help speed up the process. For example, you could scan the items in the cluster and maybe find that that they have a "category" like property where there are a total of 3 or 4 unique categories. You can then show a button for each category.

    When zoomed out, if all items in the cluster are not in the same location the common experience is to zoom the map in and have the cluster expand. In the Azure Maps Web SDK the DataSource class has a getClusterExpansionZoom function that will tell you what zoom level the cluster will expand at next, as it is possible that if you are zoomed out a lot that it might take several zoom ins before the cluster separates. However, I don't believe this is exposed in the Blazor component. In that case, zooming in one level is acceptable, and is what is done in most other map platforms that don't have the cluster expansion zoom information (few platforms have that). To help speed things up for the user you can look at the number of items in a cluster and change the experience accordingly. For example, if there are 10 or less items, show a popup with a list, if there are more, zoom in.

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.