/**
* [ONEMAP.M.footer]
* @return {[object]}
*/
define([
'html!templates/chooseBg',
'css!styles/chooseBg'
], function(tplLayout) {
var modValue = {
sideNav: ONEMAP.M.sideNav.modValue,
curBaseMapCid: ONEMAP.D.globalSettingData.baseMap2D.type,
onMouseCM: false,
onMouseLi: false
}
function init() {
setLayout();
bindEvent();
changeMapBg();
subscribe();
};
function setLayout() {
$(tplLayout).appendTo($("#chooseBg .cover-content"));
var peizhi = onemapUrlConfig.defaultTypes;
$("#chooseBg").css("width", 73 * (peizhi.length) + "px");
for (var i = 0; i < peizhi.length; i++) {
var li;
if (i == 0) {
li = $('
' + peizhi[i].name + '
');
} else {
li = $('' + peizhi[i].name + '
');
}
li.css({
"background": "url(" + peizhi[i].imgurl + ") no-repeat"
})
$("#mapBaseLayerControl .choosemap .map-list").append(li);
}
switch (peizhi[0].id) {
case "gr":
modValue.curBaseMapCid = 2;
$("#mapBaseLayerControl .choosemap .map-list .gr").eq(0).addClass('active');
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
} else {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").show();
}
break;
case "gt":
modValue.curBaseMapCid = 3;
$("#mapBaseLayerControl .choosemap .map-list .gt").eq(0).addClass('active');
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
}
break;
case "gm":
modValue.curBaseMapCid = 1;
$("#mapBaseLayerControl .choosemap .map-list .gm").eq(0).addClass('active');
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
}
break;
}
}
function changeMapBg(options) {
if (options == 'openmapchoose') {
$('#chooseBg').show();
} else {
$('#chooseBg').hide();
}
}
function layoutResize(cid) {
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
}
if (modValue.curBaseMapCid == 2) {
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
} else {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").show();
}
}
}
function showGH(mid) {
if (mid != '2D' && mid != '3D') {
if (mid == "showGH") {
var cid = "gr";
$("#mapBaseLayerControl .choosemap .map-list li").removeClass('active');
$("#mapBaseLayerControl .choosemap .map-list").find("li[mid=gr]").addClass('active');
modValue.curBaseMapCid = 2;
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
} else {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").show();
}
} else if (mid == "showGM") {
var cid = "gm";
$("#mapBaseLayerControl .choosemap .map-list li").removeClass('active');
$("#mapBaseLayerControl .choosemap .map-list").find("li[mid=gm]").addClass('active');
modValue.curBaseMapCid = 1;
if (map23DData.display.map2D) {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
} else {
$("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
$("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
}
}
map2DViewer.setDefaultTileLayer(cid);
if (cid == 'gr') {} else {}
ONEMAP.M.mapHolder.modValue.mainLayers = cid;
ONEMAP.C.publisher.publish(cid, 'changemap');
}
}
function bindEvent() {
$("#mapBaseLayerControl .choosemap .map-list li").bind("click", function() {
var cid = $(this).attr("mId");
$("#mapBaseLayerControl .choosemap .map-list li").removeClass('active');
$("#heighterSlider .heighterslider-content .image").removeClass('active');
$(this).addClass('active');
map23DControl.setDefaultTileLayer(cid);
switch (cid) {
case 'gr':
//地名
if ($("#mapBaseLayerControl .choosemap .name-control input").is(":checked")) {
} else {
}
modValue.curBaseMapCid = 2;
break;
case 'gt':
modValue.curBaseMapCid = 3;
break;
case 'gm':
modValue.curBaseMapCid = 1;
break;
}
ONEMAP.M.mapHolder.modValue.mainLayers = cid;
map2DViewer.map.fire('mainLayer:addLayer', cid);
ONEMAP.C.publisher.publish(cid, 'changemap');
});
};
/**
* 注册订阅
* @type {Function}
* 推送:ONEMAP.C.publisher.publish(options,'moduleName::type');
* 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange');
*/
function subscribe() {
ONEMAP.C.publisher.subscribe(changeMapBg, 'choosemaphover');
ONEMAP.C.publisher.subscribe(layoutResize, 'change23D');
ONEMAP.C.publisher.subscribe(showGH, 'layout::mapStyle');
}
return ONEMAP.M.chooseBg = {
init: init,
};
})