chooseBg.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. /**
  2. * [ONEMAP.M.footer]
  3. * @return {[object]}
  4. */
  5. define([
  6. 'html!templates/chooseBg',
  7. 'css!styles/chooseBg'
  8. ], function(tplLayout) {
  9. var modValue = {
  10. sideNav: ONEMAP.M.sideNav.modValue,
  11. curBaseMapCid: ONEMAP.D.globalSettingData.baseMap2D.type,
  12. onMouseCM: false,
  13. onMouseLi: false
  14. }
  15. function init() {
  16. setLayout();
  17. bindEvent();
  18. changeMapBg();
  19. subscribe();
  20. };
  21. function setLayout() {
  22. $(tplLayout).appendTo($("#chooseBg .cover-content"));
  23. var peizhi = onemapUrlConfig.defaultTypes;
  24. $("#chooseBg").css("width", 73 * (peizhi.length) + "px");
  25. for (var i = 0; i < peizhi.length; i++) {
  26. var li;
  27. if (i == 0) {
  28. li = $('<li class="' + peizhi[i].id + ' active" mid="' + peizhi[i].id + '"><p class="name">' + peizhi[i].name + '</p><div class="mapchoose-border"></div></li>');
  29. } else {
  30. li = $('<li class="' + peizhi[i].id + '" mid="' + peizhi[i].id + '"><p class="name">' + peizhi[i].name + '</p><div class="mapchoose-border"></div></li>');
  31. }
  32. li.css({
  33. "background": "url(" + peizhi[i].imgurl + ") no-repeat"
  34. })
  35. $("#mapBaseLayerControl .choosemap .map-list").append(li);
  36. }
  37. switch (peizhi[0].id) {
  38. case "gr":
  39. modValue.curBaseMapCid = 2;
  40. $("#mapBaseLayerControl .choosemap .map-list .gr").eq(0).addClass('active');
  41. if (map23DData.display.map2D) {
  42. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
  43. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
  44. } else {
  45. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
  46. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").show();
  47. }
  48. break;
  49. case "gt":
  50. modValue.curBaseMapCid = 3;
  51. $("#mapBaseLayerControl .choosemap .map-list .gt").eq(0).addClass('active');
  52. if (map23DData.display.map2D) {
  53. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
  54. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
  55. }
  56. break;
  57. case "gm":
  58. modValue.curBaseMapCid = 1;
  59. $("#mapBaseLayerControl .choosemap .map-list .gm").eq(0).addClass('active');
  60. if (map23DData.display.map2D) {
  61. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
  62. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
  63. }
  64. break;
  65. }
  66. }
  67. function changeMapBg(options) {
  68. if (options == 'openmapchoose') {
  69. $('#chooseBg').show();
  70. } else {
  71. $('#chooseBg').hide();
  72. }
  73. }
  74. function layoutResize(cid) {
  75. if (map23DData.display.map2D) {
  76. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
  77. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
  78. }
  79. if (modValue.curBaseMapCid == 2) {
  80. if (map23DData.display.map2D) {
  81. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
  82. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
  83. } else {
  84. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
  85. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").show();
  86. }
  87. }
  88. }
  89. function showGH(mid) {
  90. if (mid != '2D' && mid != '3D') {
  91. if (mid == "showGH") {
  92. var cid = "gr";
  93. $("#mapBaseLayerControl .choosemap .map-list li").removeClass('active');
  94. $("#mapBaseLayerControl .choosemap .map-list").find("li[mid=gr]").addClass('active');
  95. modValue.curBaseMapCid = 2;
  96. if (map23DData.display.map2D) {
  97. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
  98. } else {
  99. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").show();
  100. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").show();
  101. }
  102. } else if (mid == "showGM") {
  103. var cid = "gm";
  104. $("#mapBaseLayerControl .choosemap .map-list li").removeClass('active');
  105. $("#mapBaseLayerControl .choosemap .map-list").find("li[mid=gm]").addClass('active');
  106. modValue.curBaseMapCid = 1;
  107. if (map23DData.display.map2D) {
  108. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
  109. } else {
  110. $("#mapBaseLayerControl .choosemap .name-dem-control .name-control").hide();
  111. $("#mapBaseLayerControl .choosemap .name-dem-control .dem-control").hide();
  112. }
  113. }
  114. map2DViewer.setDefaultTileLayer(cid);
  115. if (cid == 'gr') {} else {}
  116. ONEMAP.M.mapHolder.modValue.mainLayers = cid;
  117. ONEMAP.C.publisher.publish(cid, 'changemap');
  118. }
  119. }
  120. function bindEvent() {
  121. $("#mapBaseLayerControl .choosemap .map-list li").bind("click", function() {
  122. var cid = $(this).attr("mId");
  123. $("#mapBaseLayerControl .choosemap .map-list li").removeClass('active');
  124. $("#heighterSlider .heighterslider-content .image").removeClass('active');
  125. $(this).addClass('active');
  126. map23DControl.setDefaultTileLayer(cid);
  127. switch (cid) {
  128. case 'gr':
  129. //地名
  130. if ($("#mapBaseLayerControl .choosemap .name-control input").is(":checked")) {
  131. } else {
  132. }
  133. modValue.curBaseMapCid = 2;
  134. break;
  135. case 'gt':
  136. modValue.curBaseMapCid = 3;
  137. break;
  138. case 'gm':
  139. modValue.curBaseMapCid = 1;
  140. break;
  141. }
  142. ONEMAP.M.mapHolder.modValue.mainLayers = cid;
  143. map2DViewer.map.fire('mainLayer:addLayer', cid);
  144. ONEMAP.C.publisher.publish(cid, 'changemap');
  145. });
  146. };
  147. /**
  148. * 注册订阅
  149. * @type {Function}
  150. * 推送:ONEMAP.C.publisher.publish(options,'moduleName::type');
  151. * 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange');
  152. */
  153. function subscribe() {
  154. ONEMAP.C.publisher.subscribe(changeMapBg, 'choosemaphover');
  155. ONEMAP.C.publisher.subscribe(layoutResize, 'change23D');
  156. ONEMAP.C.publisher.subscribe(showGH, 'layout::mapStyle');
  157. }
  158. return ONEMAP.M.chooseBg = {
  159. init: init,
  160. };
  161. })