Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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.542725.03607 ], "INFO" : "Hellomap" , "ICON" : "build_red", "COUNT" : }]}+{ 
 +  ​"​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" : 
 +     } 
 +  ​] 
 +}
 </​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% |