android - 位置映射未在不同设备上返回

标签 android location cross-platform coordinates

我有获取经纬度坐标的代码。

String bestProvider;
LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

Criteria criteria = new Criteria();
bestProvider = lm.getBestProvider(criteria, true);
Location location = lm.getLastKnownLocation(bestProvider);

     if (location == null){
      }else{
        geocoder = new Geocoder(this);
        try {
        setLat((double)location.getLatitude());
        setLng((double)location.getLongitude());

        }catch (Exception e) {
                e.printStackTrace();
        }
    }

我尝试使用不同的设备。有些返回纬度和经度的值。有些没有。所有设备都连接到互联网并启用了 gps。你们知道是什么原因造成的吗?谢谢!

最佳答案

这是由于 getLastKnownLocation 可能存在也可能不存在。我建议您请求单个位置更新。还要记住,lastknownlocation 不一定准确,它可能属于 2 天前的位置。 开发指南: http://developer.android.com/reference/android/location/LocationManager.html

单次更新指南 http://androidexperinz.wordpress.com/2012/04/19/current-location-update/

关于android - 位置映射未在不同设备上返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632762/

相关文章:

android - 使用 Android 订阅限制功能

java - InputStream 有什么问题?

Android - 使用 CommonWare 的 locpoller 时出现问题

GPS坐标精度

c++ - Qt 的实际使用(诺基亚以外)

安卓工作室 : Multiple APKs for Multiple Modules

Android getActivity() 未定义

android - 谷歌地图包含Android上的位置

c - 如何将编译选项从目标传播到 Cmake 上的所有其他目标

VLIW 架构的 GCC 编译器基础架构