moveCamera() 在 Android 上使用了错误的位置数据

moveCamera() uses wrong location data on Android

希望你能帮助我。我当前的应用程序能够获取我当前的位置(通过 GPS)。现在我在我的当前位置添加了一个标记,效果很好,但是如果我想将我的相机移动到标记上,它就不起作用了。 moveCamera(positon); 的输入与 addMarker(position);

的输入相同

这是我的代码:

//center is used when no location is available (Berlin)
final CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(52.5075389,13.5231758)); 
final CameraUpdate zoom = CameraUpdateFactory.zoomTo(14);

//get location from other activity
final Bundle extras = getIntent().getExtras();

MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.mapfragment);
        mapFragment.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(GoogleMap googleMap) {
                LatLng position = new LatLng(52.5075389,13.5231758);

                if (extras != null) { //if location available
                    position = (LatLng)extras.getParcelable("location");
                    final CameraUpdate centerLocation = CameraUpdateFactory.newLatLng(position);

                    MarkerOptions markerOptions = new MarkerOptions().position(position).title(MARKER_TITLE).snippet(MARKER_SNIPPET);
                    googleMap.addMarker(markerOptions);

                    googleMap.getUiSettings().setMapToolbarEnabled(false); //hide auto created buttons
                    googleMap.moveCamera(centerLocation);
                    googleMap.animateCamera(zoom);
                }
    else{
//some other code here
}

我的标记在正确的位置,但我的 centerLocation 不在。有什么建议吗?

感谢评论。这是我的解决方案:

final float zoom = 14;

//rest of the code is unchaged

googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, zoom));