簡體   English   中英

我可以將2個cameraUpdate與一個animateCamera一起使用嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM