Basically you ask how to implement clustering on Android. To my knowledge, Google does not offer a solution for this. The document you refer to in the comments ( developers.google.com/maps/articles/toomanymarkers ) refers to the google maps JavaScript API. Unfortunately, none of the cluster-related codes are yet available on Android.
You will have to come up with your own marker clustering algorithm. The developers.google.com/maps/articles/toomanymarkers document you pointed out can be a good starting point to determine which algorithm will work best for you (grid-based clustering, distance-based clustering, etc. )
Another option, which is slightly easier to implement (but not perfect), may be to change the marker image to a smaller icon when the zoom level has changed, so they do not overlap. Have a look at my answer to this question: https://stackoverflow.com/a/316618/
You can use this answer to determine when you crossed the “zoom threshold” and change the markers to something smaller once you zoom in on a certain threshold and zoom in when you zoom in. I use this trick in several of my applications to change the usual icons to small dot images when zooming out and return to the regular icon when zooming in again.
Discdev
source share