Введение
Запросы метаданных Street View Static API возвращают данные о панорамах Просмотра улиц. С помощью метаданных можно узнать, доступно ли изображение Просмотра улиц для определенного местоположения, а также получить программный доступ к координатам широты и долготы, идентификатору панорамы, дате съемки и информации об авторских правах на изображение. Доступ к этим метаданным позволяет настраивать поведение приложения при возникновении ошибок.
Запросы метаданных Street View Static API бесплатны. При запросе метаданных квота не потребляется. Квота расходуется, только когда вы загружаете изображение с помощью Street View Static API.
При запросе метаданных изображений Просмотра улиц точность панорамных изображений составляет 50 метров.
Как посмотреть метаданные изображения
Запрос метаданных изображения Просмотра улиц – это URL с протоколом HTTP следующего формата:
https://maps.googleapis.com/maps/api/streetview/metadata?parameters
Параметры разделяются амперсандами (&) в соответствии со стандартом написания URL.
Обязательные параметры для запросов метаданных
Запросы метаданных принимают те же параметры URL, что и запросы изображений Street View Static API, хотя обязательными являются только следующие параметры:
Выполните одно из следующих действий:
location– может быть текстовой строкой (например,Chagrin Falls, OH) или парой координат широты и долготы, разделенных запятой (40.457375,-80.009353).
Альтернативный вариант:
pano– идентификатор панорамы. Идентификаторы панорам могут со временем меняться, поэтому не сохраняйте их. Вместо этого сохраните адрес или координаты широты и долготы, чтобы вы могли обновить идентификатор панорамы. Подробнее о том, как обновить идентификаторы удаленных панорам…
А также:
keyиsignature– ключ API необходим для аутентификации запроса. Цифровая подпись также требуется в некоторых случаях и всегда рекомендуется. Подробнее о том, как получить ключ и подпись…
Запрос метаданных, содержащий только обязательные параметры, выглядит следующим образом:
https://maps.googleapis.com/maps/api/streetview/metadata?location=&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>
или так:
https://maps.googleapis.com/maps/api/streetview/metadata?pano=&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>
Обновление идентификаторов удаленных панорам
Если при попытке получить идентификатор панорамы вы получаете ZERO_RESULTS или не получаете никакого значения, значит идентификатор панорамы был удален и его нужно обновить.
Сохраните адрес или координаты широты и долготы, которые вы использовали для получения идентификатора панорамы, чтобы при необходимости обновить его.
Если вы обнаружили, что идентификатор панорамы изменился, используйте исходный адрес или координаты широты и долготы, чтобы снова найти ближайшие панорамы и получить новый идентификатор.
Необязательные параметры для запросов метаданных
В запрос метаданных можно включить следующие параметры: size, heading, fov и pitch. Обратите внимание, что эти параметры не влияют на данные о панораме или на то, какая панорама будет найдена.
В API можно включать те же параметры, что и в запросе изображений, чтобы упростить создание запроса метаданных, связанного с определенным запросом изображений. Однако для запросов метаданных API игнорирует необязательные параметры и их значения. Подробную информацию об использовании этих параметров можно найти в руководстве для разработчиков по Street View Static API.
Формат ответа
Ответы на запросы метаданных возвращаются только в формате JSON.
Примеры
Пример 1. Панорама найдена
Следующие URL успешно запрашивают метаданные и изображение одной и той же панорамы.
Запрос метаданных и ответ на него
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{
"copyright" : "© 2017 Google",
"date" : "2016-05",
"location" : {
"lat" : 48.85783227207914,
"lng" : 2.295226175151347
},
"pano_id" : "tu510ie_z4ptBZYo2BGEJg",
"status" : "OK"
}Запрос и ответ, в котором должно быть отсутствующее изображение.
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Пример 2. Панорама не найдена
Следующие URL запрашивают метаданные и изображение для панорамы, которую не удалось найти в указанном месте или рядом с ним.
Запрос и ответ метаданных
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{
"status" : "ZERO_RESULTS"
}Запрос и ответ для изображений
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Коды статуса
Поле status в объекте ответа метаданных содержит статус запроса и может содержать сведения для отладки, которые помогут вам устранить неполадки, если запрос Просмотра улиц не работает. Поле status может содержать следующие значения:
| Статус | Описание |
|---|---|
"OK" |
Указывает на отсутствие ошибок. Панорама найдена, и метаданные возвращены. |
"ZERO_RESULTS" |
Означает, что не удается найти панораму для окрестностей указанного места. Такой ответ может быть получен, если вы указали несуществующий или недействительный идентификатор панорамы. См. раздел [Обновление идентификаторов удаленных панорам](#refresh-pano). |
"NOT_FOUND" |
Указывает, что не удалось найти адрес, указанный в параметре location. Такое сообщение может появиться, если указан несуществующий адрес. |
"OVER_QUERY_LIMIT" |
Указывает, что вы превысили дневную квоту или квоту в секунду для этого API. |
"REQUEST_DENIED" |
Означает, что запрос отклонен. Это сообщение может появиться, если вы не авторизовали запрос или если Street View Static API не активирован в проекте консоли Google Cloud, содержащем ваш ключ API. |
"INVALID_REQUEST" |
Обычно указывает, что параметры запроса (адрес, координаты широты и долготы или компоненты) отсутствуют. |
"UNKNOWN_ERROR" |
Запрос не удалось выполнить из-за ошибки сервера. Обычно это временно. Если повторить попытку, запрос может оказаться успешным. |
Дополнительная информация
Дополнительную информацию об использовании Street View Static API и других продуктов Google Maps API можно найти на странице поддержки Maps API.