2011-04-14 46 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); 

        } 
相关问题