расчет времени, прошедшего в определенном месте, с использованием геолокации в Android

Android предоставляет API геолокации для обработки местоположения пользователя с помощью GPS, GSM или Wi-Fi. При этом можно определить текущее местоположение пользователя. Мой метод основан исключительно на данных, поступающих от GPS-приемника.

Используя API геолокации, как я могу определить, как долго пользователь находится в определенной геолокации?


person Himanshu Soni    schedule 20.11.2012    source источник


Ответы (1)


Попробуйте с исполняемым файлом, например:

  private Handler handler = new Handler();

  public static final int timeElapsedCheckingDelay = 100; // in ms

  private float timeElapsed = 0;

  private Runnable timeElapsedChecker = new Runnable()
  {
      public void run()
      {
          if(gpsActual != gpsLast) //get the last position and check
          {
            //You can export wherever for example a toast
            timeElapsed = 0; 
            gpsActual = gpsLast;
          }
          else
            timeElapsed +=0.1;

          handler.removeCallbacks(timeElapsedChecker); // remove the old callback
          handler.postDelayed(timeElapsedChecker, timeElapsedCheckingDelay); 


      }
  };

Это более или менее псевдокод, надеюсь, он вам поможет :)

person ƒernando Valle    schedule 20.11.2012
comment
Это скорее решит проблему. но, по моему опыту, это не допустит проблем с точностью. GPS может указывать на место, которое находится рядом, но пользователь не сдвинулся со своего места. при таких обстоятельствах это не даст правильного результата. - person Himanshu Soni; 20.11.2012
comment
В том случае, когда вы проверяете свою позицию, вы должны знать погрешность GPS и вычислять свою позицию в интервале значений. Например 2 метра радио, иначе думаю решения не будет, так как координаты не точные. - person ƒernando Valle; 21.11.2012
comment
Да, я понимаю. мне нужно будет установить пороговое значение расстояния, при котором изменение в пределах, скажем, 50 метров будет отброшено. - person Himanshu Soni; 21.11.2012