According to one of the tech blogs I frequent, it appears the driver was depending on his company-supplied GPS. While the GPS has a setting for "bus," it doesn't know the exact heights to all of the bridges.
I have a GPS myself, and if there's one thing I've learned by it, it is NOT to trust everything it tells you.