2011-06-14 50 views
0

當設備通過網絡提供商獲取位置信息時,我可以獲取經度和緯度並將它們轉換爲地址,但當我使用gps時會失敗。我能做些什麼來解決這個問題?未能通過GPS獲取經度和緯度,但通過Android中的網絡提供商獲取?

public void onCreate(Bundle savedInstanceState) { 
... 

mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
mLocation = mLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
if (mLocation != null) { 

      gp1 = getGeoByLocation(mLocation); 
      gp2 = gp1; 

      refreshMapView(); 

      if(!mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){ 
       mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 2000, 
         10, mLocationListener); 
      }else{ 
       mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 
           10, mLocationListener); 
      } 

    private GeoPoint getGeoByLocation(Location location) { 
     GeoPoint gp = null; 
     try { 
      if (location != null) { 
       double geoLatitude = location.getLatitude() * 1E6; 
       double geoLongitude = location.getLongitude() * 1E6; 
       gp = new GeoPoint((int) geoLatitude, (int) geoLongitude); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return gp; 
    } 
+0

有什麼問題?你在日誌中看到什麼? – 2011-06-14 15:06:42

+0

無法顯示有關經度和緯度的字符串,也是當我使用GPS時指出我的位置的圖像;( – 2011-06-14 15:15:03

回答

1

isProviderEnabled如果在「設置」菜單中禁用它,它將爲false。如果啓用GPS,您應該在通知/狀態欄上看到一個圖標。

+0

是的,我可以在通知/狀態欄上看到GPS圖標,但無法看到關於經度和緯度的字符串當您使用網絡提供商獲取位置時,它會成功,但在使用GPS時失敗 – 2011-06-14 15:03:34

+0

您等待了多長時間?,您是否在空曠地方?(應該在10-15分鐘內獲得修復,並且您 – Reno 2011-06-14 15:06:35

+0

大約幾分鐘,地圖可以放大到我住的區域,但是不能顯示經度和緯度,我現在呆在房間裏 – 2011-06-14 15:09:22

1

GPS慢得多,而且經常不可用。如果有人在建築物內,例如開發軟件的辦公室,或者甚至是軟件開發商的房屋/公寓,那麼很有可能你不會得到GPS定位。我們的應用很大程度上依賴於位置,我們獲得的大部分位置座標均來自蜂窩塔或無線三角測量,兩者都顯示爲NETWORK_PROVIDER。

相關問題