For step 1:
You need a kind of a compass to show the user the direction:
http://sunil-android.blogspot.com/2013/02/create-our-android-compass.html
For step 2: You need to do some mathematical calculations.
For step 3:
You have to get the latitude and longitude of the current location of where you capture the image:
Implement your class like: implements LocationListener
LocationManager mLocationManager;
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location != null) {
lat = location.getLatitude();
lng = location.getLongitude();
getWeatherInfo();
}
else {
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
Toast.makeText(ClimateInfo.this,"GPS / Internet not available, please check the connections and retry!",Toast.LENGTH_LONG).show();
}
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Log.v("Location Changed", location.getLatitude() + " and " + location.getLongitude());
lat = location.getLatitude();
lng = location.getLongitude();
}
}