【问题标题】:Android : How may ways I can get current location programaticallyAndroid:我可以通过多少种方式以编程方式获取当前位置
【发布时间】:2011-04-14 11:10:44
【问题描述】:

我可以通过多少种方式在 Android 中以编程方式获取当前地理位置(纬度、语言),哪种方式最好、准确且更快??

期待您的建议

谢谢

【问题讨论】:

标签: android geolocation


【解决方案1】:

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

【讨论】:

  • 不确定是否有最佳方法:GPS 可能很慢,但相当准确;单元格不精确但更快;并非所有设备都有 GPS ;;;使用多种方式的组合可能是最好的方式(首先,celle-tower,快速定位;然后是 GPS,因此更精确)
  • 感谢 Pascal,任何代码示例可供参考(同时使用网络提供商和 GPS)
  • 不,抱歉;我想手册中有示例,但我从未使用过。
【解决方案2】:

可以通过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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 2011-03-16
      • 2018-03-12
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多