0
public class MyLocation  {
Context mContext;
LocationManager mlocManager;
LocationListener mlocListener;
double  lat=0,lng=0;

public MyLocation(Context mContext) {

    super();
    this.mContext = mContext;
    mlocManager = (LocationManager)mContext.getSystemService(mContext.LOCATION_SERVICE);
    mlocListener = new MyLocationListener();
    mlocManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);

}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener {
    private static final int TWO_MINUTES = 1000 * 60 * 2;


    public void onLocationChanged(Location loc) {
        loc.getLatitude();
        loc.getLongitude();

        String Text = "My current location is: " +"Latitud = " + loc.getLatitude() +"Longitud = " + loc.getLongitude();
    //  Toast.makeText( mContext,Text,Toast.LENGTH_SHORT).show();
        lat = loc.getLatitude();
        lng = loc.getLongitude();
    }

    public void onProviderDisabled(String provider){
        Toast.makeText(mContext,"Gps Disabled",Toast.LENGTH_SHORT ).show();
    }

    public void onProviderEnabled(String provider){
        Toast.makeText( mContext," Gps Enabled" ,Toast.LENGTH_SHORT).show();
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }
  }
}

这个类没有返回它应该是什么......我的位置总是0.0 0.0不知道该怎么做。

我像这样使用这个类

mylocation = new MyLocation(this);

我启动应用程序时启用了 gps 和网络,所以这不是问题...

4

1 回答 1

1

试着走出去(我也不是冒犯的意思)。有时 GPS 在室内无法接收到信号,因此您可能必须前往户外的开阔区域才能获取实际数据。如果 GPS 找不到信号,它将返回 0.0, 0.0。

编辑:另外,我注意到您没有覆盖任何 GPS 方法。尝试@Override为那些(即,,,和onLocationChanged)添加一个。这可能会有所帮助。onProviderEnabledonProviderDisabledonStatusChanged

编辑 2:如果这仍然不起作用,请转到手机的设置,然后转到“位置和安全设置”(设备之间的名称可能略有不同),并确保“使用无线网络”和“使用 GPS 卫星”都是勾选。

编辑 3:
这都是它自己的类,@Override 上没有错误:

import android.location.Location;
import android.location.LocationListener;
import android.os.Bundle;

public class MyLocationListener implements LocationListener {

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub

    }

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

    }

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

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

}
于 2012-08-08T11:55:03.353 回答