Как определить, доступен ли Google StreetView по адресу / координатам

Я создаю приложение, использующее API изображений Google Street View

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

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

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

Есть еще идеи?

Спасибо!


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


Ответы (2)


Используя 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

person user1852570    schedule 26.11.2012
comment
это правильно, но я хочу сделать это на стороне сервера, и использование api карт мне не очень поможет - person Yaron U.; 04.12.2012

У 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"
}

@see https://developers.google.com/maps/documentation/streetview/metadata < / а>

person TrieuNomad    schedule 07.10.2018