动画 GoogleMap 以在同一动画中缩放和定位

Animate GoogleMap to zoom and location in same animation

我正在尝试同时对缩放和位置进行动画处理,但似乎不可能。

如果我这样做,它只会动画到位置:

mMap.animateCamera(CameraUpdateFactory.zoomTo(16f));
mMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())));

如果我这样做,它只会缩放动画:

mMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())));
mMap.animateCamera(CameraUpdateFactory.zoomTo(16f));

如果我将一个 moveCamera 和一个 animateCamera 组合起来,每一个都有效,但显然只有一个有动画,另一个没有。

如何为缩放和位置设置动画?

好吧,我终于用回调分两步完成了,如果你找到更好的方法请post它:

mMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude())), new GoogleMap.CancelableCallback() {
    @Override
    public void onCancel() {}

    @Override
    public void onFinish() {
        mMap.animateCamera(CameraUpdateFactory.zoomTo(16f));
    }
});

更新:感谢@B__ 更好的解决方案:newLatLngZoom 函数