Android会在间隔“位置对象”上发送纬度和经度

时间:2011-10-07 18:16:36

标签: android gps location locationmanager locationlistener

我已经看了一些其他问题和教程,但我没有得到我正在寻找的东西

我试图以这种格式获得经纬度

纬度= 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对象,因为我的class GpsListener.onLocationChanged(.. )需要一个位置对象,但是您可以举例说明如何使用位置对象或如何简单地获取此经度和纬度吗?

我只是将纬度和经度传递给服务器,所以我不需要对GPS模块做任何其他事情,我的checkin()功能使服务器调用

1 个答案:

答案 0 :(得分:1)

您是否试图避免使用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); 

如果您只想使用一次,我想您可以在收到位置后注销所有内容。但也许你想确保精度在x米以内等。