2011-07-04 53 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