fix rounding error when changing zoom, close #426