Перейти к основному содержимому

Геозоны

Стд::Геопозиционирование::Геозоны Тип-одиночка Доступность: Клиент

Объект для работы с геозонами на клиенте.

Пример

метод ОбработчикПоддерживается(Источник: Кнопка, Событие: СобытиеПриНажатии)
пер Сообщение = "Геозоны.Поддерживаются: " + Геозоны.Поддерживаются()
Сообщить(Сообщение)
;

метод ОбработчикДобавить(Источник: Кнопка, Событие: СобытиеПриНажатии)
пер Координаты = новый ГеографическиеКоординаты(37.3349285, -122.011022, 0)
пер Геозона = новый Геозона("Apple", координаты, 100)

пер Координаты2 = новый ГеографическиеКоординаты(37.422, -122.084058, 0)
пер Геозона2 = новый Геозона("Google", координаты2, 100)

пер Координаты3 = новый ГеографическиеКоординаты(37.41500, -122.05897, 0)
пер Геозона3 = новый Геозона("Google2", координаты3, 100)

пер Геозоны = [Геозона, Геозона2, Геозона3]

Геозоны.ПодключитьОбработчик(&ОбработчикГеозон)

попытка
Геозоны.Добавить(Геозоны)
поймать Исключение: ИсключениеГеозон
Сообщить("Не удалось подключить геозоны: " + Исключение.ВСтроку())
;
;

метод ОбработчикПолучитьВсе(Источник: Кнопка, Событие: СобытиеПриНажатии)
пер Геозоны = Геозоны.ПолучитьВсе()

пер Сообщение = ""

если Геозоны.Размер() == 0
Сообщение = "Нет геозон"
иначе
Сообщение = "Геозоны: "

для Геозона из Геозоны
Сообщение = Сообщение + Геозона.Идентификатор + ", "
;
;

Сообщить(Сообщение)
;

метод ОбработчикПолучить(Источник: Кнопка, Событие: СобытиеПриНажатии)
пер Геозона = Геозоны.Получить("Apple")
Сообщить("Геозона: " + Геозона)
;

метод ОбработчикУдалитьВсе(Источник: Кнопка, Событие: СобытиеПриНажатии)
Геозоны.УдалитьВсе()
Сообщить("Геозоны удалены")
;

метод ОбработчикМаксимальноеКоличество(Источник: Кнопка, Событие: СобытиеПриНажатии)
пер Сообщение = "МаксимальноеКоличество: " + Геозоны.МаксимальноеКоличество
Сообщить(Сообщение)
;

метод ОбработчикГеозон(Геозона: Геозона, Пересечение: ВидПересеченияГеозоны)
Сообщение = "Произошло перечение геозоны: " + Геозона.ВСтроку()
Сообщить(Сообщение)
;

Сравнение ссылочное

Иерархия типа

Базовые типы: Объект, Одиночка


Свойства

МаксимальноеКоличество

Доступность: Клиент ТолькоЧтение

МаксимальноеКоличество: Число

Возвращает максимальное количество доступных геозон: 20 - для iOS, 100 - для Android.


Методы

Добавить

Доступность: Клиент

Добавляет геозону или массив геозон для отслеживания.

Если при добавлении превышено максимальное количество поддерживаемых геозон, будет выброшено ИсключениеГеозон.

Геозоны должны иметь уникальный идентификатор. Геозоны с одинаковым идентификатором заменяются.

Метод возвращает Истина, если геозона успешно добавлена, или Ложь, если пользователь не дал разрешение на доступ к геолокации.


ОтключитьОбработчикПересечения

Доступность: Клиент

ОтключитьОбработчикПересечения(Обработчик: (Геозона, ВидПересеченияГеозоны)->ничто)
Отключает обработчик отслеживаемых геозон.

Обработчик - ссылка на обработчик, подключенный в методе ПодключитьОбработчикПересечения.


Поддерживаются

Доступность: Клиент

Поддерживаются(): Булево
Проверяет, поддерживаются ли службы для работы с геозонами.


ПодключитьОбработчикПересечения

Доступность: Клиент

ПодключитьОбработчикПересечения(Обработчик: (Геозона, ВидПересеченияГеозоны)->ничто)
Подключает обработчик отслеживаемых геозон.

Обработчик - ссылка на функцию-обработчик, которая будет вызываться при пересечении пользователем геозоны. Обработчик должен иметь параметры типа Геозона и ВидПересеченияГеозоны.


Получить

Доступность: Клиент

Получить(Идентификатор: Строка): Геозона?
Возвращает геозону по идентификатору или Неопределено, если геозона не найдена.


ПолучитьВсе

Доступность: Клиент

Возвращает все отслеживаемые геозоны.


Удалить

Доступность: Клиент

Удаляет указанную геозону или массив геозон из списка отслеживаемых.


УдалитьВсе

Доступность: Клиент

УдалитьВсе()
Удаляет все геозоны из списка отслеживаемых.


Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление