You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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

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

OnEvent("MAP", "_id_","_событие_" [,"_параметры_"])
СобытиеОписание события
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

Формат оператора для описания действий с картой:

DoReact("MAP","_id_","_команда_" [,"_параметры_"]);

Список команд и параметров для объекта 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<>Идентификатор создаваемого трека
ERASE_ARROW – Удалить трек перемещения между объектамиobj_id<>

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


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

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

  3. Если
    1. невозможно построить трек,
    2. одного из объектов не существует,
    3. можно построить трек, но невозможно отобразить стрелки,

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


Пример. Скрыть Камеру 10 на Карте 1 по Макрокоманде 10.

OnEvent("MACRO","10","RUN")
{
    DoReact("MAP","1","HIDE_OBJECT","objtype<CAM>,objid<10>,hide<1>");
}
  • No labels