final LatLngBounds.Builder bc = new LatLngBounds.Builder();
for (LatLng marker : markers) {
bc.include(marker);
}
bc.include(new LatLng(yourLat, yourLong));
map.setOnCameraChangeListener(new OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition arg0) {
map.moveCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), padding));
map.setOnCameraChangeListener(null);
}
});
これにより、マーカーと現在地に合わせて正しいズームが設定され、追加のパディングを追加できます。サイズは計算されていないため、いつ計算されCameraChangeListenerたかを知るように設定する必要があります。その後、更新を行い、リスナーを削除できます。