Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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/ | ||
Строка 72: | Строка 75: | ||
Формат сообщений: | Формат сообщений: | ||
<code> | <code> | ||
- | { "TYPE" : "MAP_EVENT", "MARKERS" : [{"COORDS" : [ 48.5427, 25.03607 ], "INFO" : "Hello, map" , "ICON" : "build_red", "COUNT" : 2 }]} | + | { |
+ | "TYPE": "MAP_EVENT", | ||
+ | "OBJECTS": [ | ||
+ | { | ||
+ | "ID" : $point->{id}, | ||
+ | "MARKER": { | ||
+ | "ID" : $point->{id}, | ||
+ | "COORDX" : $point->{coordy}, | ||
+ | "COORDY" : $point->{coordx}, | ||
+ | "INFO" : "<strong>$lang{TYPE}</strong>: $point->{type_name} <br> <strong>$lang{NAME}</strong>: $point->{name}", | ||
+ | "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% | | ||