2011-07-04 32 views
1

LocationManager mlocManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);我没有从NETWORK_PROVIDER获取GPS坐标有时

LocationListener mlocListener = new MyLocationListener(); 

    mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener); 

    //init(); 

} 

/* Class My Location Listener */ 

public class MyLocationListener implements LocationListener 

{ 

@Override 

public void onLocationChanged(Location loc) 

{ 

    //_pd.dismiss(); 

loc.getLatitude(); 

loc.getLongitude(); 

String Text = "My current location is: " +"Latitud = " + loc.getLatitude() +"Longitud =" + loc.getLongitude(); 
txtInfo.setText(Text); 

Toast.makeText(getApplicationContext(),Text,Toast.LENGTH_SHORT).show(); 

} 

@Override 

public void onProviderDisabled(String provider) 

{ 

Toast.makeText(getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT).show(); 

} 

@Override 

public void onProviderEnabled(String provider) 

{ 

Toast.makeText(getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show(); 

} 

@Override 

public void onStatusChanged(String provider, int status, Bundle extras) 

{ 

} 
} 

这是我的代码....有时候我的GPS坐标,有时候我不为什么会发生?

回答

0

使用GPS获取地理位置定位需要很长时间,因此您需要在无线网络提供商和GPS之间切换以可靠地获取地理坐标。首先轮询无线网络,如果没有启用/可用,则回退到GPS提供商是一个好主意。

很好的参考:Android-location-providers-gps-network-passive

0

这是因为一些地方没有显示在Android上的经度和纬度。这不是一个大问题,你只需检查你的lat和lng返回null或不。如果它返回null,则只显示一条简单的消息,在这个位置没有lat和lng。

+0

你的代码绝对没问题。 – user824330