public class GpsInfo extends Service implements LocationListener
{
private final Context mContext;
// GPS 사용여부
boolean isGPSEnabled = false;
// 네트워크 사용여부
boolean isNetWorkEnabled = false;
// GPS 상태값
boolean isGetLocation = false;
Location location;
double lat; // 위도
double lon; // 경도
float distance;
protected LocationManager locationManager;
private long startTime = -1;
private Location beforeLocation;
private Location curLocation;
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATE = 1;
private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1;
public void onLocationChanged(Location location) {
Log.d("----Start location----", location.toString());
if (startTime == -1) {
startTime = location.getTime();
} // end of if
Log.i("time", String.valueOf(location.getTime()));
beforeLocation = getLocation();
float distance[] = new float[1];
Log.i("** Before Location", String.valueOf(beforeLocation.getLatitude()) + "!!!!" + String.valueOf(beforeLocation.getLongitude()));
Log.i("&& Current Location", String.valueOf(location.getLatitude()) + "!!!!" + String.valueOf(location.getLongitude()));
Location.distanceBetween(beforeLocation.getLatitude(), beforeLocation.getLongitude(), location.getLatitude(), location.getLongitude(), distance); // distance -> meter m/s
float dis = distance[0];
// Log.i("distance", distance.toString());
Log.i("*** distance ", String.valueOf(dis));
location.getSpeed();
Log.i("Speed", String.valueOf(location.getSpeed()));
long delay = location.getTime() - startTime;
double speed = distance[0] / delay;
double speedKMH = speed * 3600; // m/s
beforeLocation = location;
Log.i("speed", String.valueOf(speedKMH));
}
gps로 위도 경도 받아서 이동거리 계산하는 코드 입니다.
근데 이 코드가 서비스 GpsInfo에서 작동이 되는 코드인데
거리를 log가 아닌 실행을 시키면 화면 에 출력이 되게 하고 싶습니다.
어떻게 수정하면 좋을까요?