Android:我可以通过多种方式以编程方式获取当前位置

时间:2011-04-14 11:10:44

标签: android geolocation

我可以通过多种方式在Android中以编程方式获取当前地理位置(lat,long),这是最好,最准确,最快捷的方式?

期待您的建议

由于

3 个答案:

答案 0 :(得分:2)

您应该阅读SDK文档中的Obtaining User Location

答案 1 :(得分:0)

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

http://www.google.com.sg/search?aq=1&oq=identifying+location&sourceid=chrome&ie=UTF-8&q=identifying+location+of+ip+addresses

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

http://en.wikipedia.org/wiki/Location-based_service#Others

答案 2 :(得分:0)

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

                    }