Как узнать, существует ли Streetview до запуска намерения Streetview - PullRequest
4 голосов
/ 05 октября 2010

Запуск намерения Просмотр улиц для местоположения не гарантирует, что Просмотр улиц существует для этого местоположения. Если Streetview не существует, пользователь просто видит черный экран, который вращается. Есть ли способ программно проверить, существует ли он до запуска намерения Streetview?

Ответы [ 5 ]

5 голосов
/ 14 октября 2012

Один из способов сделать это - использовать Google Street View Image API для проверки, существует ли Google Street View или нет.

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

Возвращает изображение с другим файломразмер, если существует просмотр улиц с определенными координатами, а не

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

. Можно сравнить эти изображения и проверить, существует он или нет.

5 голосов
/ 05 октября 2010

Используйте PackageManager и queryIntentActivities() с вашим Intent. Если вы получите список из 0 соответствующих действий, вы ничего не знаете о том, что устройство обработает ваш запрос.

1 голос
/ 20 января 2011

Вероятно, поможет, это моя публикация на похожий вопрос Определите существование функции Google Streetview

0 голосов
/ 19 декабря 2012

Я дам вам фрагмент моего решения для проверки наличия улиц из моего googe-изображения. API-интеграция изображений улиц - возможно, вы также можете использовать логический StreetViewStatus.Ok для обычного просмотра улиц.

  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);
            }
        });
0 голосов
/ 11 ноября 2010

Я не проверял API Android, но в JavaScript API есть класс StreetViewService с методом getPanoramaByLocation. Если в этом месте нет просмотра улиц, возвращается NO_RESULTS.

...