Java Android谷歌地图为每个位置制作动画
我有一个LatLng的数组列表,在onMapReady(GoogleMap-GoogleMap)的forloop中,我想按顺序设置从一个位置移动到另一个位置的动画 我尝试在for循环中执行此操作:Java Android谷歌地图为每个位置制作动画,java,android,animation,Java,Android,Animation,我有一个LatLng的数组列表,在onMapReady(GoogleMap-GoogleMap)的forloop中,我想按顺序设置从一个位置移动到另一个位置的动画 我尝试在for循环中执行此操作: mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currLatLng,10), 1000, null); 动画只发生在最后一个位置 我该怎么做呢?我应该使用animateCamera()方法的最后一个参数吗?(可取消的回调)我
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currLatLng,10), 1000, null);
动画只发生在最后一个位置
我该怎么做呢?我应该使用animateCamera()方法的最后一个参数吗?(可取消的回调)我的直觉是正确的。
animateCamera
中的最后一个参数是cancelablecallback()
接口。我所做的是创建一个名为
nimateToLocationAtIndex(int-index)
然后打电话:
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10), 2000, new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {
// Placing a marker on the position after animated
Marker marker = mMap.addMarker(markerOptions);
animateLocationMovement(i+1);
}
虽然我遇到了另一个问题,即下一个位置的贴图没有加载,因此动画可能看起来很滞后,但这会按照我的要求设置位置的动画。只需检查在for循环之间添加延迟是否可以工作到设置的时间1s@Nobody简单添加Thread.sleep()和Handler.postDelayed()不起作用。另外,我不喜欢在Android活动中添加Thread.sleep(因为在UI线程中这样做是非法的)。