希望你能帮助我。我当前的应用程序能够获取我当前的位置(通过 GPS)。现在,我将一个标记添加到当前位置,效果非常好,但如果我想将相机移动到该标记,它就不起作用。 moveCamera(position);
的输入与 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));
关于java - moveCamera() 在 Android 上使用错误的位置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61593768/