GPS works in geodetic north while your compass is using magnetic north. The declination for San Diego is around 13°+/-. Your's appears to be out by 22°, not sure why.
Here is a link to the USGS
http://rockyweb.cr.usgs.gov/outreach...gps_north.html
Here is a link to help determine your declination
http://www.thecompassstore.com/decvar.html
Hope this helps.