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.