Android отправляет широту и долготу на интервале, Местоположение объекта - PullRequest
1 голос
/ 07 октября 2011

Я просмотрел несколько других вопросов и учебных пособий, но не получил то, что искал

Я пытаюсь получить широту и долготу в этом формате

широта = 40.769134, долгота = -73.960905

Я реализовал этот класс, который принимает мои глобальные переменные широту и долготу (это длинные типы данных)

 class GpsListener implements LocationListener{

        public void onLocationChanged(Location location) {
              // TODO Auto-generated method stub
              latitude = location.getLatitude();
              longitude = location.getLongitude();
              //float speed = location.getSpeed();
              checkin();

        }

        public void onProviderDisabled(String provider) {
              // TODO Auto-generated method stub

        }

        public void onProviderEnabled(String provider) {
              // TODO Auto-generated method stub

        }


        @Override
        public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
            // TODO Auto-generated method stub

        }

}

Я смотрел другие уроки здесьи обратите внимание, что люди используют класс LocationManager для взаимодействия с моим LocationListener, но все, что мне действительно нужно, это использовать объект Location, потому что моему классу GpsListener.onLocationChanged(.. ) нужен объект местоположения, но вы можете привести пример или руководствоо том, как использовать объект местоположения или как просто получить эту долготу и широту?

Я просто передаю широту и долготу серверу, поэтому мне больше ничего не нужно делать с модулем GPS, мой checkin() функция делает серверный вызов

1 Ответ

1 голос
/ 07 октября 2011

вы пытаетесь избежать использования LocaitonManager?

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MINIMUM_TIME_BETWEEN_UPDATES,MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,new MyLocationListener());
        location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 

если вы просто хотите использовать его один раз, я полагаю, вы можете отменить регистрацию всего после получения местоположения.Но, возможно, вы хотите убедиться, что точность находится в пределах х метров и т. Д.

...