2011-04-14 65 views
1

有多少種方式可以在Android中以編程方式獲取當前地理位置(lat,lang),哪種方法最好,準確和快捷?Android:我怎樣才能以編程方式獲取當前位置

期待您的建議

感謝

+0

好帖子我遇到http://www.android10.org/index.php/articleslocationmaps來了/ 226-android-location-providers-gps-network-passive – 2011-04-14 11:29:22

回答

2

您應該SDK文檔中讀取Obtaining User Location

+0

哪個是最好的方法? – 2011-04-14 11:16:59

+0

不確定有*最好的*方式:GPS可以很慢,但相當準確;細胞不精確但更快;並非所有設備都有GPS ;;;使用幾種方法的組合可能是最好的方法*(首先,celle-tower,快速獲得一個位置;然後是GPS,所以它會得到更多的優先級)* – 2011-04-14 11:19:03

+0

感謝Pascal,任何可用的代碼示例供參考(同時使用網絡提供者和GPS) – 2011-04-14 11:21:16

0

爲Android開發位置感知應用程序時,可以使用GPS和Android的網絡位置提供程序來獲取用戶位置。雖然GPS是最準確的,但它只能在室外工作,它快速消耗電池電量,並且不會像用戶想要的那樣快速返回位置。 Android的網絡定位服務提供商使用手機信號塔和Wi-Fi信號確定用戶位置,以室內外的方式提供位置信息,響應速度更快,使用的電池電量更少。要在您的應用程序獲取用戶的位置,你可以同時使用GPS和網絡位置提供商,或者只是one`

locationManager.requestLocationUpdates(
           LocationManager.GPS_PROVIDER, 
           MIN_TIME_BW_UPDATES, 
           MIN_DISTANCE_CHANGE_FOR_UPDATES, this); 
         Log.d("GPS Enabled", "GPS Enabled"); 
         if (locationManager != null) { 
          loc = locationManager 
            .getLastKnownLocation(LocationManager.GPS_PROVIDER); 
          } 
locationManager.requestLocationUpdates(
          LocationManager.NETWORK_PROVIDER, 
          MIN_TIME_BW_UPDATES, 
          MIN_DISTANCE_CHANGE_FOR_UPDATES, this); 
        Log.d("Network", "Network"); 
        if (locationManager != null) { 
         loc = locationManager 
           .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

        } 
相關問題