Cómo saber si existe una Streetview antes de lanzar la intención de Streetview

El lanzamiento de una intención de Streetview para una ubicación no garantiza que existe una Streetview para esa ubicación. Si el Streetview no existe, el usuario sólo ve una pantalla en negro que gira. ¿Hay una manera de comprobar mediante programación si existe antes de lanzar la intención de Streetview?

Utilice PackageManager y queryIntentActivities() con su Intent . Si regresa una lista de 0 actividades coincidentes, sabrá que nada en el dispositivo controlará su solicitud.

Una forma de hacerlo sería utilizar Google Street View Image API para comprobar si Google Street View existe o no.

https://developers.google.com/maps/documentation/streetview/

Devuelve una imagen con un tamaño de archivo diferente cuando existe la vista de la calle en una determinada coordenadas, que cuando no lo hace

 http://maps.googleapis.com/maps/api/streetview?size=400x400&location=40.720032,%20-73.988354&fov=90&heading=235&pitch=10&sensor=false 

Puede comparar estas imágenes y comprobar si existen o no.

Probablemente le ayudará, que es una de mis publicaciones en una pregunta similar Determinar la existencia de la función Streetview de Google

No he comprobado la API de Android, pero con la API de JavaScript hay una clase StreetViewService con un método getPanoramaByLocation. Si no hay Street View en esa ubicación, devuelve NO_RESULTS.

Te daré un fragmento de mi solución para comprobar si hay una streetview de mi imagen de googe api streetview integración de imagen – supongo que puedes usar el StreetViewStatus.Ok booleano para streetview ordinario también.

  streetViewService.getPanoramaByLocation(latLng, STREETVIEW_MAX_DISTANCE, function (streetViewPanoramaData, status) { if (status === google.maps.StreetViewStatus.OK) { var img = document.createElement("IMG"); img.src = 'http://maps.googleapis.com/maps/api/streetview?size=160x205&location='+ lat +','+ lng +'&sensor=false&key=AIzaSyC_OXsfB8-03ZXcslwOiN9EXSLZgwRy94s'; var oldImg = document.getElementById('streetViewImage'); document.getElementById('streetViewContainerShow').replaceChild(img, streetViewImage); } else { var img = document.createElement("IMG"); img.src = '../../images/ProfilnoProfilPicture.jpg'; img.height = 205; img.width = 160; var oldImg = document.getElementById('streetViewImage'); document.getElementById('streetViewContainerShow').replaceChild(img, streetViewImage); } }); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.