1. A computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to cluster map markers on a map, the clustering comprising: receiving a plurality of map markers, each map marker having an associated location on the map and at least one attribute, and a characteristic corresponding to the attribute; location clustering the map markers based on location within a cluster; grouping the clustered map markers based on the associated attribute, wherein each grouped marker retains the corresponding characteristic; and positioning the grouped map markers within the corresponding cluster.