Объект MAP соответствует системному объекту Карта.

От объекта MAP поступают события, представленные в таблице ниже. Запуск процедуры происходит при возникновении соответствующего события.

СобытиеОписание события
LAYER_ACTIVATEDАктивация слоя. Данное событие поступает при переходе на слой карты. В параметре obj_id<> содержится идентификатор активированного слоя

ACTIVATE_OBJECT

Активация объекта. Событие поступает при выборе (активации кликом мыши) объекта на карте.

Параметры:

  1. obj_type<> – тип объекта
  2. user_id<> – идентификатор пользователя
  3. module<> – имя модуля, для Карты – map.run
  4. date<> – дата возникновения события
  5. time<> – время возникновения события
  6. slave_id<> – сетевое имя компьютера
  7. obj_id<> – идентификатор объекта
  8. layer<> – идентификатор слоя Карты
  9. fraction<> – миллисекунда, в которую событие возникло
  10. owner<> – пользователь, активировавший объект
  11. type_of_display<> – тип отображения объекта, возможные значения:
    1. IMAGE – изображение
    2. IMAGE_AND_INDICATOR – изображение и индикатор
    3. TEXT – текст
    4. LINE – линия
    5. POLYGON – многоугольник
    6. ELIPSIS – эллипс
    7. TITLE – название объекта

OBJDBLCLK

Событие поступает при двойном клике по объекту на Карте. Содержит те же параметры, что ACTIVATE_OBJECT

Список команд и параметров для объекта MAP представлен в таблице:

Команда – описание командыПараметрыОписание параметров
"SET_TOPMOST" – поверх всех окон--
"SET_NOTOPMOST" – отмена поверх всех окон--

"HIDE_OBJECT" – скрыть/показать значки объектов на карте

objtype<>Тип объекта. Может быть пустым. Если тип объекта не задан, скрываются/отображаются объекты всех типов
objid<>Идентификатор объекта. Может быть пустым. Если идентификатор объекта не задан, скрываются/отображаются все объекты заданного типа
hide<>

0 – объекты отображаются на карте

1 – объекты не отображаются на карте

"SET_OBJECT_GEOMETRY" – задать положение объекта на карте





objtype<>

Тип объекта

objid<>

Идентификатор объекта

x<>

Новая координата верхнего левого угла значка объекта на слое карты в пикселях по оси Х

y<>

Новая координата верхнего левого угла значка объекта на слое карты в пикселях по оси Y

exclude_children<>

По умолчанию при использовании реакции SET_OBJECT_GEOMETRY при перемещении значков объектов перемещаются и названия этих объектов (дочерние объекты). Если передать в реакции параметр exclude_children<1>, то объект перемещается отдельно от дочерних, то есть без названия
"INSCRIBE" – вписать в окно--
"SHOW_MINIMAP" – показать миникартуx<>Координата верхнего левого угла миникарты по оси Х в пикселях
y<>Координата верхнего левого угла миникарты по оси Y в пикселях
w<>Ширина миникарты в пикселях
h<>Высота миникарты в пикселях
monitor<>Идентификатор монитора
slave_id<>Сетевое имя компьютера
"SET_ZOOM" – изменить масштаб картыzoom<>Задаваемый масштаб карты
"ACTIVATE_OBJECT" – активировать объект на карте


obj_type<>

Тип объекта

obj_id<>

Идентификатор объекта

layer<>

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

"DRAW_ARROW" – нарисовать трек перемещения между объектами


first_obj_type<>

Тип объекта, от которого будет строиться трек

first_obj_id<>Идентификатор объекта, от которого будет строиться трек
second_obj_type<>Тип объекта, к которому будет строиться трек
second_obj_id<>Идентификатор объекта, к которому будет строиться трек
obj_id<>Идентификатор создаваемого трека
title_text<>

Текст, который будет отображаться рядом с треком. Для переноса строки используется \n

Дополнительные необязательные параметры:

  • title_text_align – смещение текста. 0 – текст отображается по центру, 1 – в начале трека, 2 – в конце трека
  • title_text_size – размер текста
  • title_shift_by_y – смещение текста вниз (может понадобиться при использовании title_text_size). По умолчанию 40 пикселей
  • title_text_color – цвет текста в формате Decimal
  • title_text_font – шрифт текста

Пример:

title_text<Объект движется\nк выходу>,title_text_align<1>,title_shift_by_y<60>,title_text_color<16711935>,title_text_size<18>,title_text_font<Algerian>

"ERASE_ARROW" – удалить трек перемещения между объектамиobj_id<>

Идентификатор трека, который надо удалить. Если не указывать параметр, то будут удалены все треки

Особенности реализации команды DRAW_ARROW:

  1. В результате запуска команды трек будет отображаться на каждом слое Карты в виде стрелок между заданными объектами.
  2. Если объекты расположены на одном слое, то стрелка рисуется напрямую между указанными объектами. Если объекты на разных слоях, то стрелка рисуется по самому короткому пути.

  3. Можно ограничить глубину поиска взаимосвязей по слоям для построения трека ключом DrowArrowSearchDepth, см. Справочник ключей реестра.
  4. Если
    1. невозможно построить трек,
    2. одного из объектов не существует,
    3. можно построить трек, но невозможно отобразить стрелки,

           то на стартовом объекте будет отображаться , на конечном .

  • No labels