Why Your Groups Dots Disappear When You Zoom Out

Eight delivery waypoints on a Mapbox layer I was building for a side project last month collapsed into what looked like a single dot when I zoomed out to the whole metro area. I was convinced I had a data bug and re-ran the query twice before working out that all of them were still drawn, just stacked, because the distance between them on screen had shrunk below the width of one marker icon.

Where the Markers Went

Every marker has a position in latitude and longitude, but the icon is drawn at a fixed size in pixels no matter how far out you are. Up close, those pixels cover a few meters of street. Pulled back to a whole city, two markers a quarter mile apart can land on almost the same pixels, and a plain marker layer draws each icon without checking whether a neighbour is already sitting there, so whichever is drawn later covers the other.

(People usually blame Mercator for this, and that’s only part of it. Most of the effect comes from zoom levels themselves: each step out doubles the ground distance per pixel, so overlap gets worse quickly rather than gradually. Mercator adds a smaller wrinkle, because scale also changes with latitude, so two friends at the same zoom stack a little later in Oslo than in Singapore.)

I’d spent the week before reading about how map providers collect road data, so it was a bit funny to then lose a morning to a bug that turned out not to be in the data at all.

Anil and the Hikers Who Weren’t Missing

My friend Anil ran into this on a group hike last fall. He was following everyone on his phone, zoomed out far enough to see the trailhead, and decided two people had turned back because he could only find one dot, and spent ten minutes texting them. Someone eventually leaned over and zoomed his map in, and there they were, a couple of switchbacks apart.

Bigger groups make it worse, since every extra person can overlap with every other person and the number of pairs that might stack grows faster than the head count.

What the Konvoyage Map Does About It

Clustering is the textbook fix, where nearby markers merge into one circle with a count on it. That suits store locators, but a number in a circle doesn’t tell you which friends are in there.

I went and read how the Konvoyage Android map handles it. There’s no clustering. Instead each marker changes what it shows depending on how far out you are: zoomed in close, a friend gets a circle with their profile photo, if they have one, and a little pointer for the direction they’re heading, and in the middle range the photo is swapped for the first letter of their name. Below zoom 10 everyone turns into a small coloured dot and the distance labels are hidden. Tapping a marker brings up the person’s name and speed. Above that zoom, a friend’s distance label is also hidden when another friend’s marker is close to it on screen, so labels don’t print over each other.

What it doesn’t do is push dots apart. Two people in the same parking lot, seen from a view of the whole region, still share the same pixels and you see one dot. I used to think smaller markers would fix that, but a smaller marker is harder to tap and still stacks once you zoom out far enough.

Before You Text Someone Who Isn’t Lost

Zoom in a step or two around where the missing person should be. That alone would have saved Anil his ten minutes.

In Konvoyage you can also tap the trip pill at the top of the map to open the member list, then tap a name, and the map moves in close on that person. The button at the top left does the reverse, fitting everyone on screen and keeping them there until you tap it again. That whole-group view is exactly where dots stack, so a missing dot there is a reason to zoom in rather than worry. A friend whose phone has really dropped out looks different: their marker fades, and once you’re zoomed in far enough for labels to show, theirs says “no signal” with how many minutes ago. If nobody shows that, the person you can’t find is probably standing right next to someone else.