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和网络,所以这不是问题......
答案 0 :(得分:1)
尝试去外面(我也不是说这是进攻性的)。有时GPS不会在室内接收信号,因此您可能必须在开放区域外向外获取实际数据。如果GPS无法找到信号,则返回0.0,0.0。
编辑另外,我注意到您没有覆盖任何GPS方法。尝试为这些添加@Override
(例如onLocationChanged
,onProviderEnabled
,onProviderDisabled
和onStatusChanged
)。这可能会有所帮助。
编辑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
}
}