You can do this using the MapView's MapController. You get the MapController using MapView.getController(), then you can attempt to set the correct zoom using MapController.zoomToSpan(). I also tend to use ItemizedOverlay's getLatSpanE6() and getLonSpanE6() to make this simpler. An example:
MapView map = (MapView) findViewById(R.id.Map);
MapController mc = map.getController();
mc.zoomToSpan(overlay.getLatSpanE6(), overlay.getLonSpanE6());
It is important to note their caveat:
Because the zoom can only achieve
discrete levels, and because the
aspect ratio of the map may not match
the ratio given, the quality of the
fit may vary. The only thing we
guarantee is that, after the zoom, at
least one of the new latitude or the
new longitude will be within a factor
of 2 from the corresponding parameter.
Edit: In order to also get the map to zoom on the correct place, you have to use MapController.setCenter().