Android 安卓:我如何通过编程获得当前位置

Android 安卓:我如何通过编程获得当前位置,android,geolocation,Android,Geolocation,在安卓系统中,有多少种方式可以通过编程获得当前地理位置(lat、lang),哪种方式是最好、准确和更快的 期待你的建议 谢谢您应该阅读SDK文档。可以通过IP地址找到位置: 另一种方法是通过GSM或控制平面定位,但也可以在此处找到其他方法: 为Android开发位置感知应用程序时,您可以利用GPS和Android的网络位置提供商获取用户位置。虽然GPS是最精确的,但它只在户外工作,它会很快消耗电池电量,并且不会像用户希望的那样快速返回位置。Android的网络位置提供商使用手机发射塔和Wi-F

在安卓系统中,有多少种方式可以通过编程获得当前地理位置(lat、lang),哪种方式是最好、准确和更快的

期待你的建议


谢谢

您应该阅读SDK文档。

可以通过IP地址找到位置:

另一种方法是通过GSM或控制平面定位,但也可以在此处找到其他方法:


为Android开发位置感知应用程序时,您可以利用GPS和Android的网络位置提供商获取用户位置。虽然GPS是最精确的,但它只在户外工作,它会很快消耗电池电量,并且不会像用户希望的那样快速返回位置。Android的网络位置提供商使用手机发射塔和Wi-Fi信号确定用户位置,提供位置信息的方式可以在室内和室外工作,响应速度更快,并且使用更少的电池电量。要在应用程序中获取用户位置,可以同时使用GPS和网络位置提供程序,也可以仅使用一个`

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);

                    }

不确定有没有最好的方法:GPS可以很慢,但相当准确;细胞不精确,但速度更快;并非所有设备都有GPS;;;使用多种方法的组合可能是最好的方法(首先,celle tower,快速定位;然后是GPS,因此更精确)感谢Pascal,任何可供参考的代码示例(使用网络提供商和GPS)不,抱歉;我想手册里有一些样本,但我从来没有用过。好帖子我遇到了好帖子我遇到了好帖子