Как стать автором
Обновить

Комментарии 10

Да, согласен, сейчас наваяем
jsfiddle.net/hozsmkag/
На демо три чекбокса, Editing — ставит обычную метку, Draw zone — рисует зону (если отключен Editing), Draw elevator marker — рисует эскалатор в качестве метки.
Импорт экспорт в демо работает только для обычных меток.
Спасибо за статью! Очень интересно. Хотелось бы все в сборе увидеть, если такое возможно. И вопрос, как Вы формируете «fabric.Path('M31,31h-2L15,17H9c-1.1027832,0-2,0.8971558-2»?
«fabric.Path('M31,31h-2L15,17H9c-1.1027832,0-2,0.8971558-2» — это обычный svg путь, можно получить в любом векторном графическом редакторе с возможностью конвертации в svg. В Inkscape, например.
А почему бы не использовать картографические фреймфорки?, там многое из этого уже выполнено.
Когда искали решение, не нашли ничего подходящего под поставленную задачу. Какие конкретно картографические фреймворки вы имеете ввиду?
Навскидку — плагин для леафлета, а вобще почти во всех есть дополнения для работы с SVG и тд.
Возможно придется повозится с представлением данных ( всякие там конвертирования, подгрузка картинок и тд), но векторное рисование, маркеры, зумирование и обработка мышиных событий там везде реализована.

З.Ы. не успел отредактировать коммент.
Да, подобные фреймворки тоже смотрели, но они достаточно тяжеловесны и специфичны для просмотра карт, с огромным масштабированием и загрузкой тайлов. Кроме того, процесс редактирования и нанесения меток/зон всё равно надо дописывать. Из более подходящего, как упомянуто в статье, рассматривался jVectorMap, но с редактированием тоже было не совсем понятно, как реализовать. А fabric на холсте позволяет редактировать уже нанесённые метки, в том числе перемещать, менять размер, поворачивть.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий