VKWebAppGetGeodata

VKWebAppGetGeodata показывает окно с запросом доступа к местоположению пользователя и получает эти данные.

Пример

JavaScriptbridge.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. В качестве ответа платформа возвращает объект со следующими полями:

ПолеТипОписание
availableboolean или integerИнформация о том, доступны ли приложению данные о текущем местоположении пользователя. Возможные значения:    • true или 1 — данные доступны мини-приложению.    • false или 0 — данные недоступны мини-приложению (остальные поля не возвращаются). Это означает, что пользователь разрешил передавать данные мини-приложению, но запретил доступ к геолокации в настройках операционной системы.
latdoubleГеографическая широта в градусах. Диапазон возможных значений: от -90 до 90.
longdoubleГеографическая долгота в градусах. Диапазон возможных значений: от -180 до 180.
accuracydoubleРадиус окружности, которая обозначает границу, внутри которой находится пользователь. Широта и долгота — это центр круга, а accuracy — его радиус, заданный в метрах.

Если при обращении к платформе произошла ошибка, управление передаётся в метод catch. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.

События

VKWebAppGetGeodataResult

Сигнализирует, что местоположение получено. В обработчик события на стороне пользователя передаются следующие данные:

JavaScript{ detail: { type: "VKWebAppGetGeodataResult", data: { available: true, lat: 78.0217862, long: 76.2881822, accuracy: 15.024 } } }

Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.

VKWebAppGetGeodataFailed

Информирует об ошибке, которая произошла при взаимодействии с платформой, или о том, что пользователь не предоставил мини-приложению доступ к данным о своём местоположении.

В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.

Пример обработки событий

Смотрите раздел Обработка событий-результатов.

Песочница

VKWebAppGetGeodata