Google has made it possible to sync from Google Calendar to your iPhone's native app. The sync is bidirectional and over the air. Setting it up is a little confusing, but the docs walk you through it. To enable it you use the "Google Sync" web-based app. Go to m.google.com/sync, select iPhone, and follow the instructions.
You can sync multiple calendars to the native iPhone Calendar app, but doing searches for how exactly to do it mostly gives incorrect results. I don't know if Google changed the process and people haven't updated their docs, or if I'm just searching for the wrong thing.
So that I can find the right procedure, I'm including it here.
Before we begin, remember three things: (1) this is for "Google Apps" (i.e. "Google Apps for your Domain"), (2) this syncs to the iPhone native Calendar app, giving you off-line calendar access and no need to use the web browser, (3) you do most of these steps from the iPhone's web browser, not from your laptop. (Some other web sites have posts that confuse some of these issues.)
- Make sure syncing to the iPhone native Calendar app is set up and works already. If you need instructions on how to do this, go to m.google.com/sync, select iPhone, and follow the instructions. (You can do this from your iPhone or your computer. I recommend doing it from your computer so you can read the instructions while you do the steps on your iPhone).
- On your iPhone, open the Safari browser and go to http://m.google.com
- Click on Google Apps user? at the bottom of the screen.
- Enter your domain name (i.e. whatever.com).
- Click the Sync icon in your domain area (this section has a green background).
- Sign in if required.
- Select your device to configure Calendars.
- When you are done the calendar entries appear on your iPhone native calendar app. Each will be a different color (not the same colors as on the web, but at least you can tell them apart).
Updated: Corrected my statement about the color of the calendar entries.