Android Студия Google Maps изменяет текущее местоположение с каждым обновлением местоположения без фактического перемещения в реальном мире. - PullRequest
0 голосов
/ 18 марта 2020

Я создаю приложение для отслеживания android. Когда пользователь открывает карту, она показывает текущее местоположение, а также движение пользователя. Пока все работает, чтобы избежать ручного поворота карты пользователем по очереди, я обеспечил движение камеры с указанием местоположения, которое автоматически поворачивает карту. Проблема состоит в том, что когда пользователь стабилен и не происходит никаких движений, синий маркер все еще вращается вместе с ним, и карта также вращается. Телефон, на котором я тестировал приложение, не имеет датчика компаса.

Это блок запроса местоположения

 public void onConnected(@Nullable Bundle bundle) {
        mLocationRequest = new LocationRequest();
        mLocationRequest.setInterval(1000);
        mLocationRequest.setFastestInterval(1000);
        mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

        if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.M){

        if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        }

        LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,mLocationRequest, this);

    }

Местоположение блока изменения

public void onLocationChanged(Location location) {


    mLastLocation = location;
    LatLng latLng = new LatLng(location.getLatitude(),location.getLongitude());
    CameraPosition cameraPosition = new CameraPosition.Builder().target(latLng).zoom(13f).bearing(location.getBearing())/*.tilt(60)*/.build();
    CameraUpdate cu = CameraUpdateFactory.newCameraPosition(cameraPosition);
    mMap.animateCamera(cu);}
...