/** * [ATLAS.M.atlasView] * @return {[object]} */ define(function(tplLayout){ /** * 模块数据 用于数据存储和外部调用 * @type {Object} */ var modValue = { options:{} } var map, thematicFeatureGroup; var mouseInMap = false; //图集里翻页 var tempCurNum = null; var clickTimeOut = null; /** * 模块界面样式 例如:宽,高 * @type {Object} */ var styles = {} /** * 模块状态,用于存储模块的状态 例如:收起,关闭 * @type {Object} */ var status = {} /** * 初始化并订阅事件 * @return {[type]} [description] */ function init(data){ //获取参数 modValue.options = data; mapInit(); getAtlasCatalogData(modValue.options.productionId); setLayout(); bindEvent(); subscribe(); } /** * 设置界面 */ function setLayout(){ layoutResize(); $(window).resize(function() { layoutResize(); }); } /** * 界面事件绑定 * @return {[type]} [description] */ function bindEvent(){ $('#mapHolder').bind('mouseenter',function(){ mouseInMap = true; }).bind('mouseleave',function(){ mouseInMap = false; }) //搜索 回车执行 (图集列表专有) $('#searchBar .input').bind('keydown', function (e) { if (e.keyCode === 13) { searchAction(); } }); //搜索 按钮 (图集列表专有) $('#searchBar .button').bind('click',function(e){ searchAction(); }); $('#searchBar .input').bind('focus',function(){ if($(this).val() == '请输入关键字'){ $(this).val(''); } }); $('#searchBar .input').bind('focusout',function(){ if($(this).val() == ''){ $(this).val('请输入关键字'); } }); //清除搜索结果 (图集列表专有) $('#cleanSearch').bind('click',function(){ $('#atlasCategoryList li').css({display:'block'}); $('#cleanSearch').hide(); modValue.options.searchKey = null; $('#searchInput').val('请输入关键字'); }); $(document).bind('keydown.up', function(){ if(!mouseInMap){ clearTimeout(clickTimeOut); clickTimeOut = setTimeout(function(){ if(tempCurNum !== null){ var curNum = tempCurNum; }else { var curNum = $('#atlasCategoryList dd ul li a').index($('#atlasCategoryList dd ul li .selected')); } if($('#atlasCategoryList dd ul li:eq('+((curNum-1)>=0?(curNum-1):0)+')').css('display') === 'block'){ $('#atlasCategoryList dd ul li .selected').removeClass('selected'); $('#atlasCategoryList dd ul li a:eq('+((curNum-1)>=0?(curNum-1):0)+')').addClass('selected'); tempCurNum = null; }else { curNum--; if(curNum < 0 ){ tempCurNum = null; return false; } tempCurNum = curNum; //$(_self).trigger('click'); return false; } //AJAX获取专题图数据,添加专题图到地图容器 getThematicData($('#atlasCategoryList dd ul li a:eq('+((curNum-1)>=0?(curNum-1):0)+')').attr('tid')); var parentDt = $('#atlasCategoryList dd ul li .selected').parent().parent().parent().prev(); if(parentDt.hasClass('selected')){ return false; }else { parentDt.addClass('selected'); parentDt.next().css({display:"block",height:'auto'}).addClass('open'); }; },0); } }); $(document).bind('keydown.down', function(){ if(!mouseInMap){ clearTimeout(clickTimeOut); clickTimeOut = setTimeout(function(){ var count = $('#atlasCategoryList dd ul li').length; if(tempCurNum !== null){ var curNum = tempCurNum; }else { var curNum = $('#atlasCategoryList dd ul li a').index($('#atlasCategoryList dd ul li .selected')); } if($('#atlasCategoryList dd ul li:eq('+((curNum+1)>=0?(curNum+1):0)+')').css('display') === 'block'){ $('#atlasCategoryList dd ul li .selected').removeClass('selected'); $('#atlasCategoryList dd ul li a:eq('+((curNum+1)>=0?(curNum+1):0)+')').addClass('selected'); tempCurNum = null; }else { curNum++; if(curNum > count ){ tempCurNum = null; return false; } tempCurNum = curNum; //$(_self).trigger('click'); return false; } //AJAX获取专题图数据,添加专题图到地图容器 getThematicData($('#atlasCategoryList dd ul li a:eq('+((curNum+1)<=count?(curNum+1):count)+')').attr('tid')); var parentDt = $('#atlasCategoryList dd ul li .selected').parent().parent().parent().prev(); if(parentDt.hasClass('selected')){ return false; }else { parentDt.addClass('selected'); parentDt.next().css({display:"block",height:'auto'}).addClass('open'); }; },0); } }); } /** * 界面重置 * @return {[type]} [description] */ function layoutResize(){ } /** * 获取地图集目录数据 * @type {Function} * @private */ function getAtlasCatalogData(aid){ ATLAS.V.loading.load(); var ajaxUrl = onemapUrlConfig.thematicDataUrl+'/production/product_category?production_id='+aid; $.ajax({ type:"get", dataType:'jsonp', url:ajaxUrl, success:function(data){ ATLAS.V.loading.loaded(); modValue.atlasCatalogData = data; setSideBarCatalog(); }, error:function(data){ ATLAS.V.loading.loaded(); ATLAS.C.publisher.publish({type:'error',message:'获取地图集目录数据失败!'},'noteBar::add'); } }); } /** * 设置图集目录 */ function setSideBarCatalog(){ //$('#atlasCategoryList dl').empty(); var dtCount = 1; var liCount = 1; var first = true; for(var item in modValue.atlasCatalogData.category){ var cItem =modValue.atlasCatalogData.category[item]; var itemDt = $('
作者: '+obj.author+'
').appendTo($('#atlasInfoDetail .content')); $('出版社: '+obj.publisher+'
').appendTo($('#atlasInfoDetail .content')); $('出版时间: '+obj.publication_date+'
').appendTo($('#atlasInfoDetail .content')); $('所属图集: '+obj.original_atlas+'
').appendTo($('#atlasInfoDetail .content')); $('地图页码: '+obj.original_page+'
').appendTo($('#atlasInfoDetail .content')); $('扫描分辨率: '+obj.scan_dpi+' DPI
').appendTo($('#atlasInfoDetail .content')); $('比例尺分母: '+obj.scale_denominator+'
').appendTo($('#atlasInfoDetail .content')); if(obj.map_theme_id != 100){ $('主题分类: '+['','自然','政区','交通','旅游','基础设施','人口经济','社会生活','生态环境','其他','新闻'][obj.map_theme_id]+'
').appendTo($('#atlasInfoDetail .content')); }else { $('主题分类: 其他
').appendTo($('#atlasInfoDetail .content')); } if($('#atlasInfoDetail .content').children().length === 0){ $('#atlasInfoDetail').hide(); }else { $('#atlasInfoDetail').show(); } //添加到全部详情 $('#atlasInfoDetailAll .content').empty(); $('作者: '+obj.author+'
').appendTo($('#atlasInfoDetailAll .content')); $('出版社: '+obj.publisher+'
').appendTo($('#atlasInfoDetailAll .content')); $('出版时间: '+obj.publication_date+'
').appendTo($('#atlasInfoDetailAll .content')); $('所属图集: '+obj.original_atlas+'
').appendTo($('#atlasInfoDetailAll .content')); $('地图名称: '+obj.map_name+'
').appendTo($('#atlasInfoDetailAll .content')); $('地图页码: '+obj.original_page+'
').appendTo($('#atlasInfoDetailAll .content')); $('扫描分辨率: '+obj.scan_dpi+' DPI
').appendTo($('#atlasInfoDetailAll .content')); $('查看权限: '+['','公开','内部','秘密','机密','绝密'][obj.read_level]+'
').appendTo($('#atlasInfoDetailAll .content')); if(obj.map_theme_id != 100){ $('主题分类: '+['','自然','政区','交通','旅游','基础设施','人口经济','社会生活','生态环境','其他','新闻'][obj.map_theme_id]+'
').appendTo($('#atlasInfoDetailAll .content')); }else { $('主题分类: 其他
').appendTo($('#atlasInfoDetailAll .content')); } $('查看次数: '+obj.view_total+'
').appendTo($('#atlasInfoDetailAll .content')); $('比例尺分母: '+obj.scale_denominator+'
').appendTo($('#atlasInfoDetailAll .content')); $('地图图片的高度: '+obj.map_image_height+' 像数
').appendTo($('#atlasInfoDetailAll .content')); $('地图图片的宽度: '+obj.map_image_width+' 像数
').appendTo($('#atlasInfoDetailAll .content')); $('最大显示级别: '+obj.max_zoom_level+'
').appendTo($('#atlasInfoDetailAll .content')); $('最小显示级别: '+obj.min_zoom_level+'
').appendTo($('#atlasInfoDetailAll .content')); $('产品状态: '+['初始状态','正在上传/处理文件','正常','禁用','','待删','发布'][obj.production_state]+'
').appendTo($('#atlasInfoDetailAll .content')); $('产品类型: '+['单幅专题图','单幅无坐标图片','基础地图','图对','系列图','图集'][obj.production_type]+'
').appendTo($('#atlasInfoDetailAll .content')); $('推荐度: '+obj.recommended+'
').appendTo($('#atlasInfoDetailAll .content')); $('是否允许删除: '+(obj.allow_del?'是':'否')+'
').appendTo($('#atlasInfoDetailAll .content')); $('图像存储的格式: '+obj.image_format+'
').appendTo($('#atlasInfoDetailAll .content')); $('生产时输入图像存储的品质: '+obj.image_quality+'%
').appendTo($('#atlasInfoDetailAll .content')); $('区域名称编码: '+obj.region_name_id+'
').appendTo($('#atlasInfoDetailAll .content')); $('区域尺度: '+['其它','世界','大洲大洋','国家','省','市','县','城市'][obj.region_scale_id]+'
').appendTo($('#atlasInfoDetailAll .content')); $('资料年代: '+obj.data_date+'
').appendTo($('#atlasInfoDetailAll .content')); $('印刷时间: '+obj.printing_date+'
').appendTo($('#atlasInfoDetailAll .content')); $('印刷长度: '+obj.printing_length+' 厘米
').appendTo($('#atlasInfoDetailAll .content')); $('印刷宽度: '+obj.printing_width+' 厘米
').appendTo($('#atlasInfoDetailAll .content')); $('坐标系: '+obj.coordinate_system+'
').appendTo($('#atlasInfoDetailAll .content')); $('投影参数:
'+obj.projcs+'
投影信息是否准确: '+(obj.coordinate_system_accurately?'是':'否')+'
').appendTo($('#atlasInfoDetailAll .content')); //$('比例尺是否准确: '+(obj.scale_accurately?'是':'否')+'
').appendTo($('#atlasInfoDetailAll .content')); $('是否透明层(覆盖层): '+(obj.is_overlay?'是':'否')+'
').appendTo($('#atlasInfoDetailAll .content')); $('地图数据类型: '+['','栅格','矢量','DEM'][obj.data_type]+'
').appendTo($('#atlasInfoDetailAll .content')); $('数据版本: '+obj.data_version+'
').appendTo($('#atlasInfoDetailAll .content')); $('设备显示DPI: '+obj.device_dpi+' DPI
').appendTo($('#atlasInfoDetailAll .content')); $('设备ID: '+obj.device_id+'
').appendTo($('#atlasInfoDetailAll .content')); $('设备名称: '+obj.device_name+'
').appendTo($('#atlasInfoDetailAll .content')); $('设备显示分辨率(高度): '+obj.device_resolution_height+' 像数
').appendTo($('#atlasInfoDetailAll .content')); $('设备显示分辨率(宽度): '+obj.device_resolution_width+' 像数
').appendTo($('#atlasInfoDetailAll .content')); $('设备显示屏尺寸: '+obj.device_screen_size+' 英寸
').appendTo($('#atlasInfoDetailAll .content')); //$('数据id: '+obj.data_id+'
').appendTo($('#atlasInfoDetailAll .content')); $('唯一标识码: '+obj.production_id+'
').appendTo($('#atlasInfoDetailAll .content')); $('文件分包: '+obj.base_list+'
').appendTo($('#atlasInfoDetailAll .content')); $('存储地址: '+obj.storage_path+'
').appendTo($('#atlasInfoDetailAll .content')); $('存储类型: '+obj.storage_type+'
').appendTo($('#atlasInfoDetailAll .content')); $('瓦片经纬度范围: '+obj.bounds+'
').appendTo($('#atlasInfoDetailAll .content')); //添加说明 obj.desc_id_list = JSON.parse(obj.desc_id_list); $('#atlasInfoIntro .content').empty(); if(obj.desc_id_list.length > 0){ for(var i =0 , l = obj.desc_id_list.length; i