android - Android / Google Map:位置更改重置缩放和方位
问题描述
我已将地图集成到我的应用程序中,并在移动时更新我的位置。我想要特定的方位和缩放级别,并且我正在使用边界。
以下视频显示了具有 2 个位置更新的应用程序。请注意它如何在每次更新时轮换。我希望地图平稳移动。下面是我在 onLocationChanged 上调用的方法。
public void moveToLocation(LatLng currentLoc, LatLng targetLoc, boolean animate) {
Location start = new Location("dummyprovider");
Location end = new Location("dummyprovider");
start.setLatitude(currentLoc.latitude);
start.setLongitude(currentLoc.longitude);
end.setLatitude(targetLoc.latitude);
end.setLongitude(targetLoc.longitude);
LatLng mid = new LatLng((currentLoc.latitude + targetLoc.latitude) / 2, (currentLoc.longitude + targetLoc.longitude) / 2);
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(currentLoc);
builder.include(targetLoc);
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(builder.build(), 100);
map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
@Override
public void onMapLoaded() {
map.animateCamera(cu, 10, new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {
CameraPosition cameraPosition;
cameraPosition = new CameraPosition.Builder().
target(mid).
tilt(60).
zoom(map.getCameraPosition().zoom + (float) 0.55).
bearing(start.bearingTo(end)).
build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
//map.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
@Override
public void onCancel() {
}
});
}
});
}
解决方案
推荐阅读
- javascript - 第一次使用 ui-sref 无法点击链接,但刷新屏幕后它确实有效
- arrays - 使用的变量。但错误仍然显示“未使用变量 x”
- php - Drupal 8:SQLSTATE [42000]:语法错误或访问冲突:1055
- c - 如何递归计算“x”元素之前的所有元素的总和?
- amazon-web-services - 使用 AWS Autoscaling 逐步将流量路由到新实例
- php - 如何在 Akeneo 中添加要显示某些内容的按钮?
- vb6 - 在 vb6 中格式化 CurTimeCtl 工具
- laravel - 创建方法停止工作
- vba - 使用 shell 从网络驱动器访问 VBA 访问 CSV 导入问题
- mysql - phalcon官网demo 服务器请求客户端未知的认证方式