7

いくつかのマーカーが設定されている Google マップ (com.google.android.gms.maps.GoogleMap) があります。

私は、別々に、

1) ズーム レベルを調整し、マップを境界線の中央に配置します。

mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(getZoomBounds(), 10));

2) マップをマーカーの 1 つの上に配置します。

LatLng poiSelectedLatLng = new LatLng(markerSelected.getPosition().latitude 
    + offset, markerSelected.getPosition().longitude);

mMap.animateCamera(CameraUpdateFactory.newLatLng(poiSelectedLatLng));

しかし、私の人生では、両方を行うことはできず、newLatLngBounds を使用してズーム レベルを調整し、マップを別の場所に配置することはできません。私が最後に行うことは、マップで起こっていることです。

どうすればいいですか?

4

2 に答える 2

6

将来の訪問者のために、これはカメラアニメーションを連鎖させる方法です:

map.animateCamera(CameraUpdateFactory.newLatLngBounds(getZoomBounds(), 10), 2000, new CancelableCallback() {

    @Override
    public void onFinish() {
        LatLng poiSelectedLatLng = new LatLng(markerSelected.getPosition().latitude + offset, markerSelected.getPosition().longitude);
        map.animateCamera(CameraUpdateFactory.newLatLng(poiSelectedLatLng));
    }

    @Override
    public void onCancel() {
    }
});

無限にチェーンする方法の例については、AnimateCameraChainingExampleActivity.javaも参照してください。

于 2013-06-18T20:28:20.560 に答える