Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:development:modules:maps [2016/08/01 10:51] anton [Отображение событий на карте] |
abills:docs:development:modules:maps [2018/10/19 14:23] (текущий) larysa |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | **''Страница перенесена в Confluence''** | ||
+ | [[http://abills.net.ua:8090/pages/viewpage.action?pageId=9601527]] | ||
+ | |||
===== Maps Javascript модули ===== | ===== Maps Javascript модули ===== | ||
Скрипты для карт лежат в /js/map/ | Скрипты для карт лежат в /js/map/ | ||
Строка 74: | Строка 77: | ||
{ | { | ||
"TYPE": "MAP_EVENT", | "TYPE": "MAP_EVENT", | ||
- | "MARKERS": [ | + | "OBJECTS": [ |
{ | { | ||
- | "COORDS": [ | + | "ID" : $point->{id}, |
- | 48.5427, | + | "MARKER": { |
- | 25.03607 | + | "ID" : $point->{id}, |
- | ], | + | "COORDX" : $point->{coordy}, |
- | "INFO" : "Hello, map", | + | "COORDY" : $point->{coordx}, |
- | "ICON" : "build_red", | + | "INFO" : "<strong>$lang{TYPE}</strong>: $point->{type_name} <br> <strong>$lang{NAME}</strong>: $point->{name}", |
- | "COUNT" : 2 | + | "TYPE" : "nas_green" |
- | } | + | }, |
+ | "LAYER_ID" : 6 | ||
+ | } | ||
] | ] | ||
} | } | ||
</code> | </code> | ||
- | Соответсвует формату, которым передаются слои и обьекты на карту. | + | Соответсвует формату, которым передаются обьекты на карту. Если обьект не имеет установелнного слоя, нужно указывать ''6'' (Слой "Обьекты"), |
+ | |||
+ | ==== События карты ==== | ||
+ | Во время загрузки и настройки карты вызываются определённые события.\\ | ||
+ | Асинхронная обработка реализуется благодаря PubSub модели обьектом ''Events''. | ||
+ | |||
+ | === Последовательность событий во время загрузки карты === | ||
+ | ^ onbeforemapcreate |Перед загрузкой скриптов карты| | ||
+ | ^ mapsloaded |Происходит после загрузки внешних скриптов карты| | ||
+ | ^ layersready |После формирования слоёв карты| | ||
+ | ^ controlsready |После формирования панели управления (кнопок)| | ||
+ | ^ mapsconfigured |После настройки карты и обработки дополнительных условий| | ||
+ | ^ controlblockshowed |Показана панель управления| | ||
+ | ^ controlblockcached |Ссылки на DOM-элементы кнопок панели управления сохранены в кеш| | ||
+ | ^ new_point_rendered_%LAYER_ID% |Происходит каждый раз при рендеринге точки слоя| | ||
+ | ^ billingdefinedlayersshowed |После обработки ''ObjectsArray'' (обьекты, переданные в странице)| | ||
+ | ^ layerenabled, %LAYER_ID% |После включения слоя, %LAYER_ID% передаётся аргументом функции-обработчику события| | ||
+ | ^ layerdisabled, %LAYER_ID% || | ||
+ | |||
+ | === Дополнительные события, возникающие во время работы === | ||
+ | ^ mapsclick, (event) | Возникает каждый раз при клике по карте, координаты можно получить как (event.latLng.lat(), event.latLng.lng())| | ||
+ | ^ savingmapconfig |При закрытии страницы, во время сохранения настроек карты| | ||
+ | ^ clearmapconfig |Перед очисткой сохранённой конфигурации| | ||
+ | ^ realpositionretrieved, position |Получены координаты от браузера клиента| | ||
+ | ^ realpositionfailed |Произошла ошибка получения координат| | ||
+ | |||
+ | === События редактирования пользовательских слоев === | ||
+ | ^ currentmapobjectfinished | При готовности слоя отправлять обьекты (Пользователь подтвердил завершение редактирования)| | ||
+ | ^ proceedingaddingpoints | (Пользователь не подтвердил завершение редактирования)| | ||
+ | ^ point_removed_%LAYER_ID% | Отправлен запрос на удаление точки слоя %LAYER_ID% | | ||