60
jQuery — библиотека для языка JavaScript, которая упрощает доступ к
любому элементу DOM (Document Object Model — объектная модель
документа) и позволяет получать атрибуты и свойства любых объектов, а
также манипулировать ими. Помимо этого, в библиотеке jQuery отлично
реализован API для работы с AJAX — то есть возможен простой обмен
данными между сервером и клиентом без необходимости перезагружать
страницу. [24]
Карта метро, которая располагается на странице поиска и добавления
объектов реализована с помощью языка JavaScript. Для того чтобы сделать
карту по-настоящему интерактивной и кликабельной было принято решение
сделать двухслойную структуру. [21]
На нижнем слое размещается простое изображение схемы
метрополитена, а на верхнем слое размещены невидимые блоки небольшого
размера, один блок на одну станцию, которым присвоен индивидуальный
номер. Невидимость блоков достигается с помощью свойства «opacity»,
которому присвоено значение 0. [20]
Таким образом при клике на станцию метро, пользователь на самом деле
нажимает на невидимый блок с индивидуальным номером, с помощью jQuery
извлекается этот номер, и соответственно знаем какая станция была выбрана.
Помимо карты в модуль добавлен выпадающий список со всеми
станциями. Сам список работает с использованием автодополнения — как
только пользователь начинает вводить название, ему предлагаются
подходящие варианты, из которых можно быстро выбрать нужную станцию.
Выпадающий список и карта синхронизируются между собой — при
выборе станции в списке происходит выбор станции на карте, и наоборот.
Исходный код модуля карты приведен в Приложении Е.
Алгоритм работы интерактивной карты метро представлен на рисунке
25: