You will want to store the latitude and longitude of the locations in your database. Then you can use a query to only return results in a certain radius based on the location like:
cos( radians( :lat ) ) *
cos( radians( `lat` ) ) *
radians( `long` ) - radians( :long )
`distance` < :distance
:lat and :long are the points the passed by the user where lat and long are the points stored in the database.
This is something I can help with in a premium support ticket.