project logo

Начало работы с MapFish

MapFish — это полнофункциональный и гибкий фреймворк для создания картографических Web-приложений, отличающийся высокой производительностью и качеством разработки.

Данное “введение” содержит описание следующих операций:

  • запуск простейшего приложения на базе MapFish, установленного на Live DVD;
  • установка MapFish;
  • создание приложения на базе MapFish.

Запуск простейшего приложения

Для запуска простейшего приложения щёлкните мышью по ссылке MapFish, расположенной на рабочем столе. После чего откроется вкладка FireFox, в которой будет загружено приложение, развёрнутое при помощи веб-сервера Apache на базе модуля mod_wsgi (http://localhost/mapfishsample/osgeolive/wsgi/).

Данное демонстрационное приложение содержит следующие возможности: поддержка запросов, редактирование, поиск и печать. Чтобы просмотреть REST протокол MapFish в действии, откройте Firebug и изучите запросы/ответы, которыми обменивается браузер и Web-сервис на базе MapFish.

Установка MapFish

Для установки MapFish скачайте скрипт установки и выполните следующие команды в терминале (командной строке):

$ wget http://www.mapfish.org/downloads/go-mapfish-framework-2.2.py

$ python go-mapfish-framework-2.2.py --no-site-packages venv

Последняя команда создаёт виртуальное окружение Python в каталоге venv, скачивает MapFish с зависимостями и устанавливает их в виртуальное окружение.

Для активации виртуального окружения и проверки корректности установки MapFish выполните следующие команды:

$ source venv/bin/activate

(venv) $ paster create --list-templates

В результате выполнения последней команды в консоли должен появиться следующий список:

Available templates:
basic_package:   A basic setuptools-enabled package
mapfish:         MapFish application template
mapfish_client:  MapFish client plugin template
paste_deploy:    A web application deployed through paste.deploy
pylons:          Pylons application template
pylons_minimal:  Pylons minimal application template

Хорошо, фреймворк успешно установлен. Теперь можно переходить к следующему разделу, в котором будет рассмотрено создание нового приложения.

Создание приложения на базе MapFish

После активации виртуального окружения Python можно сгенерировать своё первое MapFish-приложение. Назовём его, например, MyMapFishApp:

(venv) $ paster create -t mapfish MyMapFishApp sqlalchemy=true

Затем следует установить JavaScript библиотеки в приложение:

(venv) $ paster create --no-interactive -t mapfish_client MyMapFishApp

Выше приведённые команды создадут MapFish-приложение в каталоге MyMapFishApp.

После этого приложение может быть запущено при помощи следующих команд:

(venv) $ cd MyMapFishApp
(venv) $ paster serve development.ini

В браузере перейдите по адресу http://localhost:5000 - откроется минимальное приложение, включающее карту с двумя OSM слоями, панель инструментов, расположенную над картой и дерево слоёв.

Это далеко не всё, на что способен MapFish. В частности, с его помощью можно создавать RESTFul Web-сервисы, позволяющие создавать, получать, обновлять и удалять объекты. Посетите страницу http://mapfish.org/doc/2.2/quickstart.html, чтобы узнать, как создавать такие Web-сервисы, и http://mapfish.org, чтобы узнать больше о MapFish.