我正在构建一个应用程序,它必须始终将用户保持在地图的中心。
我已经设置了以下内容:
locationManager = (LocationManager) saveContext
.getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new MapLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000,
10, locationListener);
if (myLocation != null) {
setLocation(myLocation);
}
private void setLocation(Location location) {
workoutMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
location.getLatitude(), location.getLongitude()), 18.0f));
}
只要我的手机历史记录中有一个 lastKnownLocation 就可以了。地图将正确居中。
我希望每次我获得新的位置更新时, setLocation() 将再次执行,并带有新的位置信息。
我尝试创建一个线程,它只获取 lastKnownLocation 然后 setLocation(); 但这行不通。