Справочный центр Wialon

update_zone

Для создания, редактирования или удаления геозон используйте метод resource/update_zone.

Конечная точка

Copied!
svc=resource/update_zone&params={
  "itemId": <long>,
  "id": <long>,
  "callMode": "<text>",
  "n": "<text>",
  "d": "<text>",
  "t": <uint>,
  "w": <uint>,
  "f": <uint>,
  "c": <uint>,
  "tc": <uint>,
  "ts": <uint>,
  "min": <uint>,
  "max": <uint>,
  "path": "<text>",
  "libId": <long>,
  "oldItemId": <long>,
  "oldZoneId": <uint>,
  "jp": <JSON>,
  "p": [
    {
      "x": <double>,
      "y": <double>,
      "r": <uint>
    }
  ]
}

Параметры

Параметры itemId, id и callMode обязательны для всех действий. Для create и update также обязательны параметры n, t, w, f, c и p, а остальные параметры необязательны. Для delete и reset_image используются только itemId, id и callMode.

Параметр Описание
itemId ID ресурса.
id ID геозоны. Для create значение не используется, поэтому укажите 0.
callMode Действие: create, update, delete или reset_image (удалить изображение или иконку геозоны).
oldItemId ID ресурса, из которого необходимо скопировать изображение геозоны. Необязательный параметр. Используется только вместе с oldZoneId.
oldZoneId ID геозоны, изображение которой необходимо скопировать. Необязательный параметр. Используется только вместе с oldItemId.
n Имя.
d Описание. Необязательный параметр. Если он не указан, описание пустое. При обновлении геозоны это удаляет ее текущее описание.
t Тип геозоны:
  • 1 (линия);
  • 2 (полигон);
  • 3 (круг).
w Толщина линии. Для круга — радиус. Значение указывается в футах, если в ресурсе используется американская или имперская система измерений, и в метрах в остальных случаях.
f Флаги (см. Флаги геозоны).
c Цвет (ARGB).
tc Цвет текста (RGB). Необязательный параметр. Значение по умолчанию — 16711884 (0xFF00CC).
ts Размер текста. Необязательный параметр. Значение по умолчанию — 12.
min Минимальный масштаб (видимость от). Необязательный параметр. Значение по умолчанию — 0.
max Максимальный масштаб (видимость до). Необязательный параметр. Значение по умолчанию — 4294967295 (0xFFFFFFFF).
path Путь к иконке. Необязательный параметр.
libId ID библиотеки иконок. Необязательный параметр. Значение по умолчанию — 0 (библиотека иконок по умолчанию).
jp Произвольные поля в формате имя:значение. Необязательный параметр.
p Точки, где x — долгота, y — широта, r — радиус. Каждая точка должна содержать все три значения. Линия должна содержать не менее 2 точек, полигон — не менее 3, круг — ровно 1. Точки с недопустимыми координатами пропускаются. Для круга радиус берется из w, а r игнорируется. Единицы r совпадают с единицами w.

При обновлении геозоны неуказанные параметры tc, ts, min, max, path, libId и jp сохраняют текущие значения. Изображение или иконка геозоны также сохраняются. При создании геозоны вместо этого используются значения по умолчанию.

Подробнее о свойствах геозон см. resource/get_zone_data.

Флаги геозоны

Доступны следующие флаги геозоны (f):

Флаг Описание
0x2 Геозона начала рейса. Используется в отчетах, если геозоны начала и окончания рейсов не указаны в настройках таблицы.
0x4 Геозона окончания рейса. Используется в отчетах, если геозоны начала и окончания рейсов не указаны в настройках таблицы.
0x10 Устанавливается автоматически при сохранении геозоны.
0x20 Показать форму.
0x40 Не упрощать геозону.

Флаг 0x10 всегда добавляется к сохраняемому значению. Флаг 0x20 также добавляется, если запрос не содержит ни одного из параметров tc, ts, min, max, libId, path и jp. Например, если указать "f": 0 без этих параметров, геозона сохраняется со значением флагов 48 (0x30).

Ответ

Если запрос create, update или reset_image выполнен успешно, возвращается результат в следующем формате:

Copied!
[
	<long>,				/* ID геозоны */
	{
		"n": "<text>",		/* имя */
		"d": "<text>",		/* описание */
		"id": <long>,		/* ID геозоны */
		"f": <uint>,		/* флаги */
		"t": <int>,		/* тип: 1 (линия), 2 (полигон), 3 (круг) */
		"w": <int>,		/* толщина линии или радиус круга, в футах или метрах в зависимости от системы измерений ресурса */
		"e": <ushort>,		/* контрольная сумма данных геозоны (CRC16) */
		"c": <uint>,		/* цвет (ARGB) */
		"i": <uint>,		/* контрольная сумма изображения (CRC32); 4294967295, если у геозоны нет собственного изображения */
		"icon": "<text>",	/* URI изображения иконки; возвращается, только если у геозоны есть изображение или иконка из библиотеки */
		"libId": <long>,	/* ID библиотеки иконок, 0 для библиотеки иконок по умолчанию */
		"path": "<text>",	/* короткий путь к иконке из библиотеки иконок; пустой, если у геозоны нет такой иконки */
		"b": {			/* границы */
			"min_x": <double>,	/* минимальная долгота */
			"min_y": <double>,	/* минимальная широта */
			"max_x": <double>,	/* максимальная долгота */
			"max_y": <double>,	/* максимальная широта */
			"cen_x": <double>,	/* долгота центра */
			"cen_y": <double>	/* широта центра */
		},
		"ct": <uint>,		/* время создания */
		"mt": <uint>,		/* время последнего изменения */
		"jp": <JSON>		/* произвольный JSON; возвращается, только если он задан для геозоны */
	}
]

Возвращаемый результат не содержит полей tc, ts, min, max и p. Чтобы получить их, используйте resource/get_zone_data.

Флаги геозоны см. в разделе Флаги геозоны.

Если запрос delete выполнен успешно, возвращается результат в следующем формате:

Copied!
[
	<long>,		/* ID геозоны */
	null
]

Если запрос выполнить не удалось, возвращается код ошибки.

Коды ошибок

Код ошибки Описание
4 Неверные входные параметры. Если обязательный параметр отсутствует или имеет неверный тип, возвращаемый результат также содержит причину. Если значение callMode, тип геозоны или количество точек недопустимы, возвращается только код ошибки.
6 Геозона с указанным ID не существует в ресурсе, либо ее не удалось удалить, либо не удалось сбросить ее изображение.
7 Элемент с указанным ID не существует или не является ресурсом, либо у пользователя нет права доступа Создание, редактирование и удаление геозон на ресурс. При копировании изображения эта ошибка также возвращается, если исходный ресурс или геозона не существуют либо у пользователя нет права доступа Просмотр геозон на исходный ресурс.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.