ensure zoom initialized before calculating offset