Puede hacerlo utilizando MapController de MapView. Obtiene MapController usando MapView.getController(), luego puede intentar establecer el zoom correcto usando MapController.zoomToSpan(). También tiendo a usar getLatSpanE6() y getLonSpanE6() de ItemizedOverlay para hacer esto más simple. Un ejemplo:
MapView map = (MapView) findViewById(R.id.Map);
MapController mc = map.getController();
mc.zoomToSpan(overlay.getLatSpanE6(), overlay.getLonSpanE6());
Es importante tener en cuenta su advertencia:
Debido a que el zoom sólo puede alcanzar niveles discretos, y porque la relación aspecto del mapa puede no coincidir con la relación dada , la calidad del ajuste puede variar. Lo único que garantizamos es que, después del zoom, en al menos uno de la nueva latitud o nueva longitud estará dentro de un factor de 2 en el parámetro correspondiente.
Editar: Para obtener también el mapa para acercar el lugar correcto, debe utilizar MapController.setCenter().
en este caso, el mapa se acercaría a una posición aleatoria, ¿o no? – poeschlorn
Ambos puntos siempre estarán visibles con este método. Sin embargo, cuanto más alejados estén los puntos, menos preciso será este método. –
@poeschlorn: Correcto, también tienes que usar setCenter(), lo siento. –