VKWebAppGetGeodata
VKWebAppGetGeodata
показывает окно с запросом доступа к местоположению пользователя и получает эти данные.
Пример
bridge.send('VKWebAppGetGeodata')
.then((data) => {
if (data.available) {
// Местоположение получено
}
})
.catch((error) => {
// Ошибка
console.log(error);
});
Платформы
Android, iOS, Mobile Web, Web
Параметры
—
Результат
Проверить результат можно:
- •
Используя объект
Promise
, который возвращается вызовомbridge.send(...)
. - •
С помощью событий
VKWebAppGetGeodataResult
иVKWebAppGetGeodataFailed
.
Подробнее о проверке результатов при вызовах VK Bridge.
Объект Promise
Если обращение к платформе прошло успешно, управление будет передано в then
-обработчик объекта Promise
. В качестве ответа платформа возвращает объект со следующими полями:
Поле | Тип | Описание |
---|---|---|
available | boolean или integer | Информация о том, доступны ли приложению данные о текущем местоположении пользователя. Возможные значения:
• true или 1 — данные доступны мини-приложению.
• false или 0 — данные недоступны мини-приложению (остальные поля не возвращаются). Это означает, что пользователь разрешил передавать данные мини-приложению, но запретил доступ к геолокации в настройках операционной системы. |
lat | double | Географическая широта в градусах. Диапазон возможных значений: от -90 до 90 . |
long | double | Географическая долгота в градусах. Диапазон возможных значений: от -180 до 180 . |
accuracy | double | Радиус окружности, которая обозначает границу, внутри которой находится пользователь. Широта и долгота — это центр круга, а accuracy — его радиус, заданный в метрах. |
Если при обращении к платформе произошла ошибка, управление передаётся в метод catch
. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.
События
VKWebAppGetGeodataResult
Сигнализирует, что местоположение получено. В обработчик события на стороне пользователя передаются следующие данные:
{
detail: {
type: "VKWebAppGetGeodataResult",
data: {
available: true,
lat: 78.0217862,
long: 76.2881822,
accuracy: 15.024
}
}
}
Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.
VKWebAppGetGeodataFailed
Информирует об ошибке, которая произошла при взаимодействии с платформой, или о том, что пользователь не предоставил мини-приложению доступ к данным о своём местоположении.
В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.
Пример обработки событий
Смотрите раздел Обработка событий-результатов.