GoogleMap moveCamera/animateCamera 无法使用
GoogleMap moveCamera/animateCamera not working
我在片段中有一张地图。我正在尝试将相机移动到特定位置(在全局布局上):
@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);
}
});
}
});
}
getMapView()
returns 我的地图视图, latitude/longitude 完全有效(将它们输入地图,这是我的家),尝试了 moveCamera
和 animateCamera
,也尝试了newLatLngZoom
方法,但无济于事。我得到的只是一个空的地图视图:
我做错了什么?
更新:我的应用程序的各个部分都有其他地图,它们工作得很好。
问题与相机无关。我在片段中使用了 MapView
,这显然不受支持。我已将 MapView
更改为 MapFragment
并且有效。 Google 只是创建了地图,它带有徽标并静静地保持空白,而不是在这种不受支持的情况下抛出异常,这绝对是荒谬的。
我在片段中有一张地图。我正在尝试将相机移动到特定位置(在全局布局上):
@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);
}
});
}
});
}
getMapView()
returns 我的地图视图, latitude/longitude 完全有效(将它们输入地图,这是我的家),尝试了 moveCamera
和 animateCamera
,也尝试了newLatLngZoom
方法,但无济于事。我得到的只是一个空的地图视图:
我做错了什么?
更新:我的应用程序的各个部分都有其他地图,它们工作得很好。
问题与相机无关。我在片段中使用了 MapView
,这显然不受支持。我已将 MapView
更改为 MapFragment
并且有效。 Google 只是创建了地图,它带有徽标并静静地保持空白,而不是在这种不受支持的情况下抛出异常,这绝对是荒谬的。