Map Clustering

I'm working on a Mac OS X project that will use Mavericks' new maps capabilities, and needed the ability to cluster the annotations. Clustering is a solution to having too many annotations, or markers, on a map. Basically, when zoomed out, groups of annotations are “clustered” into a single annotation. When zooming in, this single annotation is split into it's many constituent annotations. This keeps the map legible and neat.

I came across this github project, TBAnnotationClustering, which in turn implements the algorithms described in this blog post. This solution was exactly what I was looking for, but was unfortunately written for iOS, using UIKit. So I forked it and converted it to AppKit on Mavericks. You can find the results in the forked github repository.