我正在努力使用Google地图的animateCamera()
方法。它仅适用于首次启动活动,如果活动被销毁并再次创建,则相机动画不起作用,但地图加载正常。我已经尝试调试代码,一切都被执行但是地图没有动画而没有任何错误或日志。虽然动画在片段中使用相同的mapFragment
时有效,但在活动中它似乎无效。
此this question中提到的解决方案现已弃用,我无法解决此问题。
地图片段
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
mapFragment.setRetainInstance(true);
@Override
public void onMapReady(GoogleMap googleMap) {
if (mMap == null) mMap = googleMap;
}
动画相机代码
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, ZOOM_LEVEL));
答案 0 :(得分:0)
从旧代码重新制作整个项目解决了这个问题。但是这个问题在另一个应用程序中重新出现。我发现该应用程序使用旧引用mMap
。这可以通过从片段管理器获取引用或仅在活动被销毁时设置mMap = null
来解决。