位置未自动更新

时间:2013-01-25 15:48:08

标签: android android-location

我正在我的Fragment类中实现LocationListener并使用以下代码来跟踪位置更新,尽管它没有得到应有的频繁更新。我需要在Google地图上显示用户在Google Navigator上的位置。

找到最佳提供者

mLocationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();

// if I uncomment the next line, it takes too long to get the location
// criteria.setAccuracy(Criteria.ACCURACY_FINE);
// if I leave the line above commented, the app seems to receiving location from triangulation

mProvider = mLocationManager.getBestProvider(criteria, false);
Location location = mLocationManager.getLastKnowLocation(mProvider);

LocationChanged事件

@Override
public void onLocationChanged(Location location) {
    LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());

    setMapCameraPosition(latLng);
}

1 个答案:

答案 0 :(得分:1)

您只询问最后的已知位置,可能存在也可能不存在。要使用LocationListener,您必须调用其中一个requestLocationUpdates()方法。

mLocationManager.requestLocationUpdates(mProvider, 0, 0, mLocationListener);