For anyone interested, I ended up using PostreSQL and an extension called PostGIS. Places are saved to the database with a PostGIS geography special type column and geo calculations are then made using that data and the user's current location.
It seems to work just fine.