<< Click to Display Table of Contents >> Navigation: Создание окон для клиента визуализации > Библиотека HMI > Категория Контролы > Карта > Источник данных для маркеров Карты |
Источник данных карты - это массив структур, в котором каждая структура описывает один маркер на карте. В этой структуре обязательно должны быть поля Y, X, в которых записаны координаты элемента, а также поле для отображения типа маркера. Помимо этих обязательных полей могут быть поля, описывающие любые другие свойства маркера – видимость, фон, пользовательские параметры. Источником данных может быть параметр узла, объекта или программы. Чтобы привязать этот параметр к карте, надо его перетащить в поле Источник данных в окне редактора карты на вкладке Сервер или в панели свойств.
Рассмотрим основные этапы создания параметра нужного типа.
В пользовательской библиотеке нужно создать структуру с нужными полями. Три поля должны быть обязательными:
Название |
Тип |
Назначение |
Y |
LREAL |
Определяет широту маркера, на которой будет находится маркер. Как правило, задается в градусах |
X |
LREAL |
Определяет долготу, на которой будет находится маркер. Как правило, задается в градусах. |
MarkerType |
например, INT |
Поле, которое будет определять, как будет отображаться маркер, какое окно, будет использовано, для отображения маркера. Если нужно на карте размещать три разных типа объектов, то параметр должен принимать три предопределенных значения, например, 1, 2 или 3. |
Помимо обязательных параметров, могут быть добавлены и произвольные, которые также могут влиять на внешний вид маркеров (или отображаться в всплывающих окнах, при клике на маркер) например:
Далле в пользовательской библиотеке нужно создать массив структур, где в качестве элемента массива используется ранее созданная структура. Количество элементов массива определяется количеством маркеров, которые нужно отображать на карте:
Массив может быть определенной на этапе разработки длины, либо изменяемой в режиме исполнения, т.е. динамической.
Если используется динамический массив, то в программе, который будет его формировать нужно использовать специальные функции, предназначенные для работы с такими массивами.
При создании параметра нужно назначить ему созданный тип массив структур:
Чтобы значения полей структур массива изменялись в режиме исполнения нужно создать программу, где они будут связаны или с параметрами проекта, либо будут прочитаны из файла или из базы данных. Текст программы зависит от задач, которые решаются в проекте. Обычно для создания таких программ используют редактор ST.
Чтобы обратиться к какому-либо полю массива структур можно использовать запись: Параметр[i]. поле, где Параметр - имя параметра, i - номер элемента массива, а поле, это имя поля структуры.
После того как параметр нужного типа создан, его нужно перетащить в поле Источник данных в окне редактора карты на вкладке Сервер или в панели свойств:
После этого на вкладке Стиль маркера редактора Карты появится возможность настроить зависимость внешнего вида маркера и полями источника данных:
Рассмотрим порядок настройки на примере параметра Тип маркера. В выпадающем списке, который соотвествует данному параметру выбираем поле связанной структуры MarkerType:
Далее необходимо настроить зависимость между значением поля структуры и значением свойства, для этого нужно нажать на кнопку рядом с полем выбора. Появится окно настройки конвертации.
Далее нужно определить какое окно, из тех, что добавлены во вкладке Окна для маркеров будет использовано для каждого из возможных значений поля структуры. В данном случае рекомендуется использовать точечную конвертацию, для других параметров могут быть использованы другие способы конвертации, в зависимости от поставленных задач: