嗨我有上面的代码,可以将相机设置为某个位置。无论如何,一旦从第一个位置完成动画,我可以将相机位置移动到不同的位置吗?我正在尝试if语句,但它不起作用。
例如:
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(1stlocation)
.zoom(12)
.bearing(300)
.tilt(30)
.build();
map.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.green))
.position(1st Location)
.flat(true)
.rotation(245));
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition ),
30000, null);
// if语句在到达第一个位置时更改相机的位置,然后将其移动到另一个位置。
CameraPosition campos = map.getCameraPosition();
if(campos == cameraPosition )
{
map.moveCamera(CameraUpdateFactory.newLatLngZoom(2ndloc, 3));
}
答案 0 :(得分:0)
注册onFinish回拨,然后调用下一个动画。你可以用一个简单的计数器链接它们。
map.animateCamera(CameraUpdateFactory.newLatLng(cameraPositiom), new CancelableCallback(){
@Override
public void onFinish(){
googleMap.getUiSettings().setScrollGesturesEnabled(true);
}
@Override
public void onCancel(){
googleMap.getUiSettings().setAllGesturesEnabled(true);
}
});