Ever since the iPhone was given Exchange support for Calendars, one of the first things I looked for was how to get my Google Calendar on my phone. I soon learned about NuevaSync, a free service that allows you to link (via Push) your Google calendar and contacts to your iPhone. It's pretty straight-forward and secure. However, up until today calendar if you had multiple calendars you weren't able to differentiate between then since the service didn't provided color identifications. No longer is this a problem!
A second much wanted feature is that you can now also sync read-only calendars/subscriptions. Before you needed write access on the calendar to be able to sync.
The service is being rolled starting today to all accounts, so if you were using or have used this but stopped because of this issue, you might want to take another look into it.
More information at their blog: Nuevasync