Accessing the GPS programmatically and determining how to move to a location