With iCal you where able to subscribe to remote calendards via urls and publish your calendars to WebDAV shares already. But this was not really a synchronization as the subscribed calendars where not editable.
Since a few days Google Calendar supports the CalDAV protocol for syncing calendards via HTTP/HTTPS protocol. Now you can setup your Google Calendar in iCal. Simply open the preferences of iCal and go to “Accounts”:
Add a new account by clicking on the + sign at the bottom. A settings pange will appear for the account details.
Username and password are the same as your Google Mail accounts. You have to expand the server options to enter the Calendar url. The url scheme of this is:
https://www.google.com/calendar/dav/[ your Google Calendar email address ]/user
Now click “add” and you’re done. The new calendar will appear in the list of calendars and is now editable. It will be synchronised regularly with Google Calendar.
[Update: 2008-10-07] If you like to add your additional Google Calendars as well you need the so called Calendar ID from Google for the CalDAV URL. This can be found in the settings of the specific Calendar in your Google Calendar account.
So the resulting URL would look like this: