Вопрос по google-street-view, google-api – Как определить, доступен ли Google StreetView по адресу / координатам

6

создаю приложение, которое использует Google Street View Image API

У меня нет проблем с получением изображения улицы на основе адреса / координат

но - я хочу определить, есть ли на конкретном адресе изображение Street View (чтобы показать другое поведение для адресов, которые неэто)

Единственная идея, которую я получил до сих пор, - это прочитать пиксели возвращенного изображения и определить, является ли это изображение, которое я получил, когда изображение недоступно.

Любая другая идея?

Спасибо!

Вы когда-нибудь понимали это? jphager2
Ах хорошо. В итоге я просто сравнил размер файла. jphager2
@ jphager2 В итоге я получил байты изображения, полученного из Google Street View Image API, и посмотрел на цвет пикселей в первой строке - поскольку недоступный адрес всегда будет давать одно и то же изображение - это работает ... хакер, но работает Yaron U.

Ваш Ответ

3   ответа
6

Используя google.maps.StreetViewService.getPanoramaByLocation (latlng, radius, callback ()), вы можете проверить, есть ли панорама улицы. Если есть панорама улицы, то должно быть изображение улицы.

Вы можете сослаться на ссылку Google:https://developers.google.com/maps/documentation/javascript/reference#StreetViewService

Или обратитесь к примеру StreetViewService:https://google-developers.appspot.com/maps/documentation/javascript/examples/streetview-service

это правильно - но я хочу сделать это на стороне сервера, и с помощью карт API выигралмне это не поможет Yaron U.
1
  mStreetViewPanorama.setOnStreetViewPanoramaChangeListener(streetViewPanoramaLocation -> {
                if (streetViewPanoramaLocation != null && streetViewPanoramaLocation.links != null) {
                    Toast.makeText(StreetViewActivity.this, "StreetView Camera Found", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(StreetViewActivity.this, "StreetView Camera not Found", Toast.LENGTH_SHORT).show();
                }
            });
0

У Google есть конечная точка API, где вы можете искать метаданные для панорамы / просмотра улиц:

https://maps.googleapis.com/maps/api/streetview/metadata?key=YOUR_API_KEY&location=STRING_ADDRESS_OR_LAT_LNG_COORDINATES

Вы можете проверитьstatus свойство ответа.

Успешный ответ

{
   "copyright" : "© 2017 Google",
   "date" : "2016-05",
   "location" : {
      "lat" : 48.85783227207914,
      "lng" : 2.295226175151347
   },
   "pano_id" : "tu510ie_z4ptBZYo2BGEJg",
   "status" : "OK"
}

Неудачный ответ

{
   "status" : "ZERO_RESULTS"
}

@увидетьhttps://developers.google.com/maps/documentation/streetview/metadata

Похожие вопросы