moveCamera和animateCamera第二次不起作用

Kse*_*nia 6 android google-maps

我有以下方法来更新我的地图:

private void setCamera() {
        if (currentLocation != null) {
            String[] coords = currentLocation.split(",", 2);
            CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(Double.parseDouble(coords[0]), Double.parseDouble(coords[1])));
            CameraUpdate zoom = CameraUpdateFactory.zoomTo(5);
            mMap.moveCamera(center);
            mMap.animateCamera(zoom);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我第一次在打开应用程序后立即调用此方法,并且此方法正常工作.但之后我转到另一个片段然后再到第一个片段.在这种情况下,方法被调用,currentLocation不等于null,center得到正确的LatLng对象,但我的地图视图没有改变,缩放小于5.有什么问题?

Kse*_*nia 4

最终我解决了这个问题。我将之前的代码修改如下:

private void setCamera() {
        if (currentLocation != null) {
            String[] coords = currentLocation.split(",", 2);
            CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(Double.parseDouble(coords[0]), Double.parseDouble(coords[1])));
            CameraUpdate zoom = CameraUpdateFactory.zoomTo(5);
            mapFragment.getMap().moveCamera(center);
            mapFragment.getMap().animateCamera(zoom);
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在地图已正确显示。