/** * [ONEMAP.M.toolSPDraw] * @return {[object]} */ define(['html!templates/tools/toolSPDraw', 'css!styles/tools/toolSPDraw' ], function (tplLayout) { /** * 模块数据 用于数据存储和外部调用 * @type {Object} * 数据存放 */ var modValue = {}; /** * 模块界面样式 例如:宽,高 * @type {Object} */ var styles = {}; /** * 模块状态,用于存储模块的状态 例如:收起,关闭 * @type {Object} */ var status = {}; /** * 查询参数 * @type {Object} */ var options = {}; /** * 初始化并订阅事件 * @return {[type]} [description] */ function init(drawId) { ONEMAP.C.publisher.publish(true, 'layout::fullMap'); setTimeout(function () { var baseMapType = $('#topBar #chooseBg .map-list .active').attr('mid'); if (baseMapType == 'gr') { if (!$("#mapBaseLayerControl .choosemap .name-control input").prop("checked")) { baseMapType = 'gr' } } var options = { lat: map23DData.view.center.lat, lng: map23DData.view.center.lng, zoom: map23DData.view.zoom, ticket: '', baseMap: baseMapType, //ONEMAP.M.mapHolder.modValue.mainLayers, placeName: $("#mapBaseLayerControl .choosemap .name-control input").prop("checked") ? true : false, drawId: drawId || '', spDrawServerUrl: onemapUrlConfig.spDrawServerUrl, } $('body').append(tplLayout); var SPDrawTemplate = Handlebars.compile($('#tools_SPDraw').html()); $("#toolSPDraw .modal-body").append(SPDrawTemplate(options)) bindEvent(); }, 1000) } /** * 设置界面 */ function setLayout() { } /** * 界面事件绑定 * @return {[type]} [description] */ function bindEvent() { $('#abtnSPDrawBack').bind('click', function () { // 接受domain2返回数据 window.addEventListener('message', resetMap); $('#toolSPDraw .modal-body iframe')[0].contentWindow.postMessage('', onemapUrlConfigNetwork.spDrawServerUrl); setTimeout(function () { remove(); }, 1000); }) } /** * 界面重置 * @return {[type]} [description] */ function layoutResize() { } /** * 注册订阅 * @type {Function} * 推送:ONEMAP.C.publisher.publish(options,'toolSPDrawuleName::type'); * 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange'); */ function subscribe() {} /** * 取消订阅 * @type {Function} * 取消订阅:ONEMAP.C.publisher.unSubscribe(layoutResize,'sideBarLayoutChange'); */ function unSubscribe() {} /** * 模块移除 * @return {[type]} [description] */ function remove() { ONEMAP.C.publisher.publish(false, 'layout::fullMap'); $('#toolSPDraw').remove(); } /** * 系统重新设置 */ function resetMap(e) { var data = JSON.parse(e.data) ONEMAP.M.mapHolder.resetMapCenterZoomLayer(data.center, data.zoom) ONEMAP.M.chooseBg.spDrawBackMapChange(data.layer) window.removeEventListener('message', resetMap); } return ONEMAP.M.toolSPDraw = { init: init, remove: remove } });