До сего момента процесс создания карты сводился всего-навсего к редактированию map-файлов. Однако в большинстве случаев требуется создание не просто статичных изображений, какие мы получали до этого, а интерактивных карт, позволяющих пользователю управлять содержимым. Для создания подобного рода карт в MapServer используются шаблоны HTML.
Шаблон HTML представляет собой файл HTML с набором специальных тегов - переменных CGI, обрабатываемых MapServer. В тексте шаблона они заключены в квадратные скобки "[]". При обработке Вашего приложения программа CGI в первую очередь анализирует строку запроса (URL) и map-файл, в результате чего формируется некоторый набор выходных данных. Необходимые данные в дальнейшем будут подставлены в файл шаблона вместо переменных CGI. Если в адресной строке браузера ввести непосредственно адрес шаблона, то в результате этих действий никаких карт Вы не получите, вместо этого браузер скорее всего отобразит пустую страницу.
MapServer предоставляет широкий набор переменных для web-картографирования. Примером такой переменной может служить переменная "img", которая была использована нами в шаблоне 9 раздела предыдущей главы. Стоит отметить, что любой параметр map-файла может быть определен с помощью переменных CGI, хотя последние изначально разрабатывались всего-лишь как часть картографического интерфейса. Полное описание всех переменных CGI можно найти по адресу http://www.mapserver.org/cgi/controls.html.
MapServer позволяет определять собственные переменные. Например, создадим переменную "root", содержащую в себе адрес корневой директории нашего руководства – "/docs/mapserver/tutorial5". Когда программа CGI будет обрабатывать наше приложение, она заменит все теги "[root]" в шаблоне на "/docs/mapserver/tutorial5". Вы увидите как это работает на практике в примерах данной главы.
Итак, переходим к созданию интерактивного интерфейса для нашего приложения.
Пользователю картографического web-приложения необходимы инструменты сдвига и масштабирования карты.
Пример 2.1 - Инструменты сдвига и масштабирования
Также ему необходимы инструменты работы со слоями.
Пример 2.2 - Инструменты работы со слоями
Карта должна содержать масштабную линейку.
Пример 2.3 - Добавление масштабной линейки
Если пользователь осуществляет навигацию по карте, то его нужно обеспечить обзорной картой.
Пример 2.4 - Добавление обзорной карты
Как и любая хорошая карта, наша карта должна содержать легенду.
Пример 2.5- Добавление легенды
Содержание | Глава 1 | Глава 3
Обсудить в форуме Комментариев 85Последнее обновление: February 27 2009
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).