繁体   English   中英

Android-Google Maps-相机更新每个位置更改

[英]Android - Google Maps - Camera Update every location change

我正在构建一个应用程序,该应用程序必须始终将用户保持在地图中心。

我设置了以下内容:

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();。 但这还没有解决。

建议您查看Google的“ 接收位置更新”指南中的完整示例。

它包括示例代码和一个Android项目,您可以立即将其导入ADT。

在LocationListener界面的onLocationChanged()方法中指定了Location Services调用以向您的应用发送位置更新的回调方法。

您可以在此处放置相机更新。

万一其他人迷失了方向,可以做到这一点,而用户Rob给出的答案在此处的另一个StackOverflow帖子中。

基本思想是创建一个CameraPosition对象,将此对象传递给CameraUpdateFactory,然后使该地图动画化CameraUpdate对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM