hard-coding the setZoom() within onCreate() feels very antiquated and I'd like to enhance the user experience by initially having the MapView set the zoom until all GeoPoints / OverlayItems are visible on the map.
How can this be done auto-magically?
There's no magical way to achieve this. I suggest to iterate through all your overlayitems to obtain the center and span of all these items. Then set the center and span accordingly for the map
Kinda like this
edit:
Ryan gave a nice suggestion : to put a padding so that some of the point don't lie on the edges (thanks Ryan!)