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?
- Quiero agregar popover / overlay / hotspot en el streetview de google map en android
- Android StreetView comprueba si hay alguna vista para la ubicación determinada
- Determinar la existencia de la función Streetview de Google
- Vista de Google Street + inclinación del dispositivo
- Intentando mostrar StreetView utilizando Google Maps Android API v2 en android pero no consiguiendo que funcione
- ¿Cómo implementar Google StreetView con Google CardBoard SDK?
- android startActivityForResult streetview obtener datos
- Android: Uso de StreetViewPanoramaView en XML
- API de Street View de Android tema animateTo
- Cómo saber si existe una Streetview 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); } });