动画 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
函数
我正在尝试同时对缩放和位置进行动画处理,但似乎不可能。
如果我这样做,它只会动画到位置:
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
函数