А извините- не правильно понял вопрос . В своем проекте мы используем OpenLayers, но только api для отрисовки карт. Отрисовываем все события сами(треки, точки ). Сервисы пишем тоже сами, поэтому сторонние не используем. Но у нас мониторинг уже случившихся событий либо событий реального времени- нам проще. По пробкам думаю вам стоит искать кай-то api для получения данных, не важно из каких источников и в каком виде. А потом накладывать уже на карту .
Странное задание.. Шаблоны подходят ВСЕ. Разбейте свое приложение на компоненты. Сделайте декомпозицию. Определите задачи и поведение каждого компонента. Да и почитайте САМИ книгу по шаблонам с примерами, тогда придет какое-то понимание. Вот довольно легкая в понимании книга www.ozon.ru/context/detail/id/6108824/ Шаблоны не решают глобальных проблем. Они решают проблемы, возникающие при проектировании и написании приложения . Начните писать, поглядывая в книгу, там и поймете где применить синглтон, а где фабрику , стратегию или еще что.
Ну сейчас далеко лезть искать, но смысл такой, что когда назначаете sortable() , то нужно еще и назначить обработку в случае изменения положения элементов в DOM. Вот линк: http://api.jqueryui.com/sortable/#event-change.
Далее нужно получить новые индексы ваших элементов.
То есть вызвать какую-либо функцию , которая пробежится по нужным элементам , возьмет их индекс index() и id например с помощью attr("id") .
Например можно пробежаться по элементом с помощью .each() http://api.jquery.com/each/
Далее просто вызовите свой метод записи в базу . Я не очень дружу с php , но на курсовой решал такую задачу с помощью load(). Также можно использовать ajax();
При загрузке страницы вам просто нужно получить элементы из базы и расставить в правильном порядке, в правильных блоках.