![](/img/trans.png)
[英]Google Maps - cannot zoom and move at the same time with animateCamera, but can with moveCamera
[英]Can I use 2 cameraUpdates with one animateCamera?
我正在嘗試放大地圖
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(mBounds, this.getResources().getDisplayMetrics().widthPixels,
height, padding);
mMap.animateCamera(cameraUpdate, duration, null);
之后,我想垂直滾動地圖
CameraUpdate cameraUpdate =
CameraUpdateFactory.scrollBy(0, amountToScroll);
mMap.animateCamera(cameraUpdate, duration, null);
問題是...不起作用。 如果在縮放后立即調用滾動條,則僅考慮滾動條。 如果縮放動畫結束后滾動地圖,則將有2個動畫。
我想用相同的動畫進行這兩種操作,可以嗎?
如果多次調用animateCamera
,則只有最后一個將完成其操作。
簡單的解決方法是使用moveCamera
而不是第一次調用animateCamera
,但是從UX角度來看,這不是一個好的解決方案。
另一種方法是自己進行數學運算,並用真正要顯示的邊界填充mBounds
。
最簡單的方法是使用CancelableCallback。 您應該檢查第一個動作是否完成,然后調用第二個:
mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, size.x, height, 0), new CancelableCallback() {
@Override
public void onFinish() {
CameraUpdate cu_scroll = CameraUpdateFactory.scrollBy(0, 500);
mMap.animateCamera(cu_scroll);
}
@Override
public void onCancel() {
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.