Vista de Google Street + inclinación del dispositivo

Estoy tratando de agregar una actividad como una característica a una aplicación que estoy construyendo donde, la API devolverá un lat largo, y con este lat largo voy a cargar google street view. Que con el movimiento del dispositivo, girará el ángulo de 360 ​​grados de la posición. Estoy luchando en la parte de movimiento del dispositivo. Utilizando los dedos en la pantalla puede girar. Me pregunto si alguien me puede apuntar en la dirección correcta en conseguir el movimiento del dispositivo para afectar a la posición de la vista de la calle?

El código que tengo hasta ahora es:

import android.support.v4.app.FragmentActivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback; import com.google.android.gms.maps.StreetViewPanorama; import com.google.android.gms.maps.StreetViewPanoramaFragment; import com.google.android.gms.maps.StreetViewPanoramaOptions; import com.google.android.gms.maps.StreetViewPanoramaView; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.StreetViewPanoramaCamera; import com.google.android.gms.maps.model.StreetViewPanoramaLocation; public class MainActivity extends FragmentActivity implements OnStreetViewPanoramaReadyCallback { private static final String TAG = MainActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); StreetViewPanoramaFragment streetViewPanoramaFragment = (StreetViewPanoramaFragment) getFragmentManager() .findFragmentById(R.id.streetviewpanorama); streetViewPanoramaFragment.getStreetViewPanoramaAsync(this); } @Override public void onStreetViewPanoramaReady(final StreetViewPanorama panorama) { final long duration = 1000; float tilt = 30; float bearing = 90; final StreetViewPanoramaCamera camera = new StreetViewPanoramaCamera.Builder() .zoom(panorama.getPanoramaCamera().zoom) .bearing(bearing) .tilt(tilt) .build(); panorama.setPosition(new LatLng(52.208818, 0.090587)); panorama.setStreetNamesEnabled(false); panorama.setZoomGesturesEnabled(false); panorama.setOnStreetViewPanoramaChangeListener(new StreetViewPanorama.OnStreetViewPanoramaChangeListener() { @Override public void onStreetViewPanoramaChange(StreetViewPanoramaLocation streetViewPanoramaLocation) { if (streetViewPanoramaLocation != null) { panorama.animateTo(camera, duration); } Log.d(TAG, "TESTINGGGGGGGGGG"); } }); } } 

One Solution collect form web for “Vista de Google Street + inclinación del dispositivo”

No estoy seguro dado su pregunta, por lo que comentario si estoy equivocado, pero parece que eres capaz de girar a través de esta instrucción

 panorama.animateTo(camera, duration); 

Y se está moviendo a una ubicación específica utilizando la variable "cámara" que construyó antes.

Por lo tanto, si entiendo correctamente lo que está tratando de hacer, usted tiene que comprobar los sensores de teléfono móvil (acelerómetro y posición) para obtener el movimiento a continuación, aplicar el movimiento correcto al panorama. Eche un vistazo a la documentación del sensor de android para obtener los oyentes adecuados (o cómo registrar el uso de un sensor) y luego construya el objeto de cámara correcto de acuerdo con la aceleración registrada por el teléfono (aceleración izquierda -> girar a la izquierda, aceleración derecha – Girando hacia la derecha).

Si necesitas un ejemplo de código te sugiero que busques esta pregunta que tiene otros enlaces para ayudarte a usar sensores y obtener más documentos.

Si esto no ayuda, comente y / o aclare la pregunta.

  • ¿Cómo hacer referencia a un estilo definido en un módulo de Android con IntelliJ?
  • Kotlin-android: enlace de datos de referencia no resuelto
  • ¿Cómo acceder / carpeta de datos de otra aplicación a través de su aplicación?
  • ¿Cómo saber qué marcador se ha hecho clic en Google Maps v2 para Android?
  • Mono.AndroidTools.InstallFailedException: Fallo
  • ¿Aplicaciones de dibujo con las puntas de los dedos en Android?
  • Falta el menú "Annotation processing" en eclipse
  • Fragment y FragmentList no muestra Android Studio
  • ¿Cómo salir de una aplicación Android?
  • ListView no responde a los eventos de clics en Android
  • ¿El reino es una base de datos relacional?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.