Apertura de StreetView desde mi aplicación en una ubicación específica
Estoy intentando abrir Google StreetView en modo Panorama desde mi aplicación de Android.
Realmente quiero abrir Google StreetView y no Google Maps, porque quiero usarlo con una aplicación de Realidad Virtual que usa un VR Glass, que usa vista estéreo y modo panorámico. El modo panorámico que quiero es así:https: //youtu.be/3mQKGEnWxI
El siguiente código abre la aplicación StreetView:
PackageManager pm = this.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.google.android.street");
startActivity(intent);
Pero se abre en la pantalla predeterminada.
EDIT 1:
Descubrí cómo abrir la actividad panorámica de Street View. Primero enumeré las Actividades disponibles de la aplicación:
void listAppActivities(String packagename) {
PackageManager pManager = getPackageManager();
Intent startIntent = new Intent();
startIntent.setPackage(packagename);
List<ResolveInfo> activities = pManager.queryIntentActivities(startIntent, 0);
for (ResolveInfo ri : activities) {
System.out.println("getAppActivities::nome::" + ri.activityInfo.name);
}
}
Luego utilicé la actividad com.google.vr.app.StreetViewApp.StreetViewApp. Puedo iniciar StreetView Panorama Activity directamente usando este código:
void openStreetView() {
String packagename = "com.google.android.street";
PackageManager pm = this.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(packagename);
intent.setComponent(new ComponentName(packagename, "com.google.vr.app.StreetViewApp.StreetViewApp"));
startActivity(intent);
}
Pero todavía no sé cómo pasar los parámetros de ubicación a StreetView. ¿Cómo puedo hacer eso
He probado con URI:
Uri gmmIntentUri;
//gmmIntentUri = Uri.parse("geo:"+lat+","+lng); // Test1
gmmIntentUri = Uri.parse("google.streetview:cbll="+lat+","+lng); // Test2
//gmmIntentUri = Uri.parse("http://maps.google.com/maps?ll="+lat+","+lng); // Test3
intent.setData(gmmIntentUri);
Y usando Intent.putExtra:
intent.putExtra("cbll", lat+","+lng);
intent.putExtra("args", "cbll="+lat+","+lng);
intent.putExtra("lat", new Double(lat));
intent.putExtra("long", new Double(lng));
intent.putExtra("lng", new Double(lng));
Pero no hay éxito. ¿Alguien sabe cómo pasar los parámetros de ubicación a la aplicación StreetView en modo Panorama?
EDIT 2:
Descubrí que si uso un enlace resaltado de Street View, o una ubicación destacada, es posible abrir Street View en modo Panorama, pasando la intención de URI. Probé los siguientes enlaces:
https: //www.google.com/streetview/#christmas-island/ethel-beach- https: //www.google.com/streetview/#russian-landmarks/terskol- https: //www.google.com/streetview/#day-of-the-dead-in-mexico/ofrenda-dia-de-muertos-zocal
Más se puede encontrar aquí:https: //www.google.com/streetview
Pero aún no sé cómo pasar una ubicación genérica.