GeoAlarmMe is an alarm based on your location that allows you to choose how close to your destination (350 ft / 0.3 mi / 0.6 mi) you want to be alerted.
Disclaimer:
Continued use of GPS running in the background can dramatically decrease battery life.