Android GoogleMap moveCamera/animateCamera不工作

Android GoogleMap moveCamera/animateCamera不工作,android,google-maps-android-api-2,android-5.0-lollipop,Android,Google Maps Android Api 2,Android 5.0 Lollipop,我在一块碎片里找到了一张地图。我正在尝试将相机移动到特定位置(在全局布局上): getMapView()返回我的地图视图,纬度/经度完全有效(将它们输入地图,这是我的家),尝试了moveCamera和animateCamera,也尝试了newLatLngZoom方法,但没有效果。我得到的只是一个空的地图视图: 我做错了什么 更新:我的应用程序的各个部分都有其他地图,它们工作正常。问题与相机无关。我在片段中使用了MapView,这显然是不受支持的。我已将MapView更改为MapFragment

我在一块碎片里找到了一张地图。我正在尝试将相机移动到特定位置(在全局布局上):

getMapView()
返回我的地图视图,纬度/经度完全有效(将它们输入地图,这是我的家),尝试了
moveCamera
animateCamera
,也尝试了
newLatLngZoom
方法,但没有效果。我得到的只是一个空的地图视图:

我做错了什么


更新:我的应用程序的各个部分都有其他地图,它们工作正常。

问题与相机无关。我在片段中使用了
MapView
,这显然是不受支持的。我已将
MapView
更改为
MapFragment
,并且成功了。谷歌只是创建了地图,并在地图上留下了一个徽标,而没有在这种不受支持的情况下抛出异常,这绝对是荒谬的。

问题与相机无关。我在片段中使用了
MapView
,这显然是不受支持的。我已将
MapView
更改为
MapFragment
,并且成功了。谷歌只是创建了地图,并在地图上留下一个徽标,而不是在这种不受支持的情况下抛出异常,这绝对是荒谬的。

尝试像这样传递浮点值。
。zoom(10.0f)
我希望它能工作。@HardikVasani它不会有任何区别:zoom方法只有一个重载:
zoom(float)
,并传递一个int
10
将在编译时自动转换为float
10.f
zoom(10)
zoom(10.f)
是相同的。
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(newCameraPosition.Builder().target(LatLng).zoom(14.0f).build())
这对我来说很有效。还有一件事我不知道
硬件加速
属性在这个问题中扮演什么角色,如果在清单文件中添加这个属性,那么请删除并尝试一下。@HardikVasani我有完全相同的模式,但不起作用。我还强制软件渲染(禁用硬件加速),但无效。如果您解决了此问题,请与我们共享ans谢谢。请尝试像这样传递浮点值。
。zoom(10.0f)
我希望它能工作。@HardikVasani它不会有任何区别:zoom方法只有一个重载:
zoom(float)
,并传递一个int
10
将在编译时自动转换为float
10.f
zoom(10)
zoom(10.f)
是相同的。
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(newCameraPosition.Builder().target(LatLng).zoom(14.0f).build())
这对我来说很有效。还有一件事我不知道
硬件加速
属性在这个问题中扮演什么角色,如果在清单文件中添加这个属性,那么请删除并尝试一下。@HardikVasani我有完全相同的模式,但不起作用。我还强制软件渲染(禁用硬件加速),但无效。如果您已解决此问题,请与我们共享ans谢谢!。
@Override
public void onGlobalLayout() {
    getMapView().getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(final GoogleMap googleMap) {
            LocationManager.onLocation(new CoordinatesCallback() {
                @Override
                public void onCoordinates(double latitude, double longitude) {
                    LatLng target = new LatLng(latitude, longitude);
                    CameraPosition position = CameraPosition
                            .builder()
                            .target(target)
                            .zoom(10)
                            .build();
                    CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(position);
                    googleMap.moveCamera(cameraUpdate);
                }
            });
        }
    });
}