Android中的Google地图将Lat / Long初始化为0.0(有时......)

时间:2012-03-19 23:10:52

标签: android google-maps gps latitude-longitude

我很困惑这个。似乎我实施谷歌地图或拉动用户位置是不明智的。现在,我在设备上得到了非常分散的结果,我不知道为什么,但Lat / Long偶尔会出现故障。

有没有人有任何想法?

这是我用来获取当前位置的方法。

    try {
        locationListener = new MyLocationListener();
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        locationManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 0, 0, locationListener);
        loc = locationManager.getLastKnownLocation("gps");

        if (loc == null) {
            loc = locationManager.getLastKnownLocation("network");
        }
        if (loc != null && loc.getLongitude() != 0.0
                && loc.getLatitude() != 0.0) {
            sLng = (loc.getLongitude());
            sLat = (loc.getLatitude());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:2)

您正在使用上一个缓存位置。这在最近使用GPS时(手机启动后)才可靠

have to use location obtained from the onLocationChanged()回调以获取更多最新位置。