Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Оператор Add Map

Оператор Add Map

Нзначение:

Добавляет слой в окно Карты.

Синтаксис:

Add Map [ Window window_id ] [ Auto ] Layer table [, table ... ] [Animate]

где

window_id – идентификатор окна Карты, целое число;

table – имя открытой таблицы, объекты которой будут добавлены в окно Карты. Эта таблица должна иметь разрешение на присоединение графических объектов (mappable).

Описание:

Оператор Add Map добавляет новый слой, который содержит данные открытой таблицы, в окно Карты. Оператор может добавить сразу несколько слоев. MapInfo после выполнения оператора автоматически перерисует картинку в окне Карты, если это не запрещено операторами Set Event Processing Off или Set Map... Redraw Off.

Идентификатор открытого окна для параметра window_id можно получить с помощью функций FrontWindow(_) или WindowID(_). Если параметр window_id опущен, то слой будет добавлен в самое верхнее открытое окно.

Ключевое слово Auto позволяет MapInfo автоматически подобрать порядковый номер слоя. Растровые таблицы и таблицы с объектами типа "область" помещаются в самый конец списка слоев, а таблицы с точечными объектами – в начало списка. Если слово Auto было опущено, то слой с объектами таблицы table будет самым верхним некосметическим слоем в окне, другими словами, при перерисовке изображения в окне объекты этого слоя выводятся на экран последними. Вы можете изменить порядок слоев оператором Set_Map.

Добавление слоев с разными проекциями

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

Если добавляемый слой не является растровым, то MapInfo продолжает показывать окно Карты с использованием той проекции и координатной системы, которые действовали до применения оператора Add Map, даже если таблица table имела свою собственную, другую проекцию и координатную систему. Если собственные проекции таблицы не совпадают с проекциями карты, MapInfo динамически преобразует координаты, отображая данные таблицы в слое карты. При обновлении окна Карты, содержащей такие слои, перерисовка изображения будет замедлена, так как MapInfo производит математические вычисления для проецирования в слой таблицы с собственными проекциями, отличными от имеющихся.

Анимационные слои и перерисовка Карты

Если в операторе Add Map присутствует слово Animate, то добавляемый слой становится анимационным. Когда объект на анимационном слое перемещается, окно Карты перерисовывается очень быстро, потому что MapInfo перерисовывает только слой с анимацией.

Справочник MapBasic

9

Оператор Add Map

Пример работы анимационного слоя можно найти в программе ANIMATOR.MB из комплекта поставки.

Эффект анимации полезен в приложениях, отображающих процессы реального времени, в которых объекты Карты должны часто и быстро перерисовываться. Например, пусть Вы разрабатываете прикладную систему управления группой грузовых автомобилей, в которой каждый грузовик представлен точечным объектом. Информацию о положении грузовика Вы получаете с помощью устройства спутникового позиционирования GPS (Global Positioning Satellite), и эта информация должна незамедлительно отражаться в окне Карты. В задачах подобного типа, когда объекты на Карте постоянно перемещаются, их лучше размещать на анимационном слое, а не на обычном.

Следующие операторы открывают таблицу (ГРУЗОВИК) и делают соответствующий слой анимационным:

Open Table ”грузовик” Interactive

Add Map Layer грузовик Animate

Если с помощью оператора Add Map задано несколько слоев со атрибутом Animate, то только первый такой слой становится анимационным, а остальные слои добавляются как обычные.

Чтобы прекратить анимацию, примените оператор Remove Map ... Layer Animate.

Анимационные слои подчиняются специальным ограничениям. Например, пользователь не может применить инструмент Информация к объекту анимационного слоя. Каждое окно Карты может иметь только один анимационный слой. Более подробные сведения об анимационных слоях Вы можете найти в главе 8 Руководства пользователя MapBasic.

Пример:

Open Table "world"

Map From world

Open Table "cust1992" As customers

Open Table "lead1992" As leads

Add Map Auto Layer customers, leads

Смотрите также:

Map, Remove Map Layer, Set Map

10

Справочник MapBasic

Функция AEExecute( )

Функция AEExecute( )

Назначение:

Посылает событие DoScript программеLсерверу Apple Event.

Предупреждение:

Использование этой функции возможно только в MapInfo для Macintosh.

Синтаксис:

AEExecute( channel, command )

где

channel – номер канала Apple Event, предварительно открытого функцией AEInitiate(_), целое число;

command – строковая величина для посылки в качестве события DoScript.

Величина, полученная в результате:

Величина типа Integer. Целое число, являющееся стандартным для Apple Event кодом ошибки. Функция возвращает 0 (ноль) в случае удачного завершения.

Описание:

После того как, Вы выполнили функцию AEInitiate(_) и открыли канал Apple Event, Вы можете посылать с помощью функции AEExecute(_) событие DoScript.

Более подробно об Apple Events можно прочитать в файле ..\MAPBASIC\DOC\MAC.DOC, появляющемся после установки пакета MapBasic.

Смотрите также:

AEInitiate(_)

Справочник MapBasic

11

Функция AEInitiate( )

Функция AEInitiate( )

Назначение:

Устанавливает дескриптор канала Apple Event, который будет использован для связи функцией AEExecute( ).

Предупреждение:

Использование этой функции возможно только в MapInfo для Macintosh.

Синтаксис:

AEInitiate(channel)

channel – целочисленная величина, используемая как номер канала.

Величина, полученная в результате:

Величина типа Integer:

0если канал открыт;

1если пользователь отменил PPC browser;

Lx

код ошибки Apple Event.

Описание:

Вызов функции AEInitiate(_) открывает канал связи Apple Event.

Более подробно об Apple Events можно прочитать в файле ..\MAPBASIC\DOC\MAC.DOC, появляющемся после установки пакета MapBasic.

Смотрите также:

AEExecute( )

12

Справочник MapBasic

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]