Android google maps can not zoom с активным компасом

Привет, ребята,

В настоящее время я использую sensorlistener, чтобы настроить свой экран как компас. Однако я не могу увеличивать или уменьшать масштаб, потому что постоянно обновляю камеру, когда onSensorChanged . Есть ли способ сделать его способным масштабировать?

 private SensorEventListener mySensorEventListener = new SensorEventListener() { @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { if(routeStarted == true) { if(event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR) { SensorManager.getRotationMatrixFromVector( mRotationMatrix , event.values); float[] orientation = new float[3]; SensorManager.getOrientation(mRotationMatrix, orientation); float bearing = (float) (Math.toDegrees(orientation[0]) + mDeclination); float tilt = 30; updateCamera(bearing, tilt); } } } }; private void updateCamera(float bearing, float tilt) { // TODO Auto-generated method stub LatLng post = new LatLng(mGoogleMap.getMyLocation().getLatitude(), mGoogleMap.getMyLocation().getLongitude()); CameraPosition pos = new CameraPosition(post, 15, tilt, bearing); mGoogleMap.moveCamera(CameraUpdateFactory.newCameraPosition(pos)); } 

Вы должны использовать уровень currentzoom, полученный на карте, вместо статического значения 15. Например:

 float zoom = map.getCameraPosition().zoom; CameraPosition pos = new CameraPosition(post, zoom, tilt, bearing); 

Если вы хотите инициализировать представление на 15, сделайте это где-нибудь еще, например, когда начнется действие.