4.1 Реализация отображения информации
При загрузке главной страницы main.php отображается карта проблем, на которой метками отмечены проблемные городские объекты, добавленные пользователями. Процесс загрузки карты можно условно разделить на два основных этапа:
? Инициализация карты и передача параметров загрузки по умолчанию javascript-файлам map.js (инициализации карты и обработчиков событий на ней) и placemarks.js (файл работы с отображением меток на карте, создание списка меток под картой, подсветка меток на карте при наведении мыши на элемент списка)
? Загрузка меток, удовлетворяющих заданным критериям по средствам HTTP-запроса AJAX-обработчику (контроллер ajax.php)
Этап инициализации включает в себя:
? Создание карты и, в зависимости от передаваемых параметров, выполнение привязки различных обработчиков событий на карте. (Пример: если установлен параметр mapOpts[addEnable], то необходимо назначить обработчик по двойному клику на карте - добавление информации)
? Создание стилей для разных типов маркеров на карте (дорожные, экологические и др.), а также разные размеры - большие (для основного списка) и в виде точек (для тех точек, которые не продублированы в списке под картой).
? Если передается параметр mapOpts[filter], то выполнить инициализацию фильтра под картой (рис. 4.1).
Рисунок 4.1 - Отображение информации. Алгоритм
В целом, массив параметров mapOpts содержит настройки для загрузки карты и проблем, таких как количество загружаемых проблем на карту, количество элементов списка под картой, id пользователя (для отображения проблем, добавленных отдельным пользователем, на странице его профиля) и др.
Этап загрузки меток подразумевает выполнение HTTP-запроса с передачей выбранных параметров к контроллеру ajax.php и получение массива точек (рис. 4.2), для последующего отображения их на карте. Функция loadPlacemarks(mapOpts) в файле placemarks.js обрабатывает полученные данные, отображает метки на карте (функция showPlacemark (issue)), при необходимости создает список под картой (функция addItemToList(issue)).
Если вместе с картой проблем используется фильтр (на главной странице), то при изменении параметров в фильтре - выполняется аналогичный асинхронный запрос к контроллеру ajax.php (рис. 4.2) и последующее отображение проблем, удовлетворяющих новым критериям.
Рисунок 4.2 - Обработка AJAX-запросов
- Введение
- 1. Техническое задание
- 1.1 Требования к составу и параметрам технических средств
- 1.2 Специальные требования
- 1.3 Анализ технических требований
- 2. Обзор существующих проектов
- 3. Проектирование системы
- 4. Реализация
- 4.1 Реализация отображения информации
- 4.2 Реализация модуля добавления проблемы
- 4.3 Реализация модуля комментирования проблемы
- 5. Контрольный пример
- Заключение
- Глава 1. Геоинформационная система (гис): понятие, программы Понятие о Геоинформационной системе (гис)
- Понятие о Геоинформационной системе (гис)
- Геоинформационные системы.
- 28 Геоинформационные системы.
- Геоинформационные системы. Общее представление.
- 5.5. Геоинформационные технологии
- «Геоинформационные системы»
- 36.Геоинформационные системы.