bfaad0613cfdec6741e93e6424345c95ce0e78a0.svn-base 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import {mapConfig} from '../config/mapConfig.js'
  2. var mapObject = null;
  3. // var ids = ["id_image","id_image_label","id_google","id_gaode"]
  4. export function baseMapChangeHandler(map,item){
  5. var ids = [];
  6. mapObject = map;
  7. mapConfig.baseLayerOptions_ol_M.forEach(ele=>{
  8. ids.push(ele.id)
  9. })
  10. if(mapConfig.wkid == ('3857' || '102100')){
  11. mapConfig.baseLayerOptions_ol_M.forEach(ele=>{
  12. ids.push(ele.id)
  13. })
  14. var ids = unique(ids);
  15. mapObject.getLayers().forEach((val)=>{
  16. if(val){
  17. ids.forEach((id)=>{
  18. if(val.getProperties().id == id && id == item){
  19. val.setVisible(true);
  20. }else if(val.getProperties().id == id){
  21. val.setVisible(false);
  22. }
  23. })
  24. if(val.getProperties().id=="fujian_yx_1" ||
  25. val.getProperties().id=="fujian_sl_1" ||
  26. val.getProperties().id=="fujian_dx_1" ||
  27. val.getProperties().id=="fujian_mark"){
  28. val.setVisible(false);
  29. }
  30. }
  31. })
  32. mapObject.getLayers().forEach((val)=>{
  33. if(val){
  34. if(item=="fujian_yx" && (val.getProperties().id=="fujian_yx_1" || val.getProperties().id=="fujian_mark")){
  35. val.setVisible(true);
  36. }
  37. if(item=="fujian_sl" && (val.getProperties().id=="fujian_sl_1" || val.getProperties().id=="fujian_mark")){
  38. val.setVisible(true);
  39. }
  40. if(item=="fujian_dx" && (val.getProperties().id=="fujian_dx_1" || val.getProperties().id=="fujian_mark")){
  41. val.setVisible(true);
  42. }
  43. }
  44. })
  45. }else{
  46. mapConfig.baseLayerOptions_ol.forEach(ele=>{
  47. ids.push(ele.id)
  48. })
  49. var ids = unique(ids);
  50. mapObject.getLayers().forEach((val)=>{
  51. if(val){
  52. ids.forEach((id)=>{
  53. if(val.getProperties().id == id && id == item){
  54. val.setVisible(true);
  55. }else if(val.getProperties().id == id){
  56. val.setVisible(false);
  57. }
  58. })
  59. }
  60. })
  61. }
  62. // if(item == "影像"){
  63. // mapObject.getLayers().forEach((val)=>{
  64. // if(val){
  65. // ids.forEach((id)=>{
  66. // if(val.getProperties().id == id && val.getProperties().id != "id_image" && val.getProperties().id != "id_image_label"){
  67. // val.setVisible(false);
  68. // }else if(val.getProperties().id == id && val.getProperties().id == "id_image" || val.getProperties().id == "id_image_label"){
  69. // val.setVisible(true);
  70. // }
  71. // })
  72. // }
  73. // })
  74. // }else if(item == "高德"){
  75. // mapObject.getLayers().forEach((val)=>{
  76. // if(val){
  77. // ids.forEach((id)=>{
  78. // if(val.getProperties().id == id && val.getProperties().id != "id_gaode" && val.getProperties().id != "id_image_label"){
  79. // val.setVisible(false);
  80. // }else if(val.getProperties().id == id && val.getProperties().id == "id_gaode" || val.getProperties().id == "id_image_label"){
  81. // val.setVisible(true);
  82. // }
  83. // })
  84. // }
  85. // })
  86. // }else if(item == "谷歌"){
  87. // mapObject.getLayers().forEach((val)=>{
  88. // if(val){
  89. // ids.forEach((id)=>{
  90. // if(val.getProperties().id == id && val.getProperties().id != "id_google" && val.getProperties().id != "id_image_label"){
  91. // val.setVisible(false);
  92. // }else if(val.getProperties().id == id && val.getProperties().id == "id_google" || val.getProperties().id == "id_image_label"){
  93. // val.setVisible(true);
  94. // }
  95. // })
  96. // }
  97. // })
  98. // }
  99. }
  100. function unique(arr){
  101. for(var i=0; i<arr.length; i++){
  102. for(var j=i+1; j<arr.length; j++){
  103. if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第二个
  104. arr.splice(j,1);
  105. j--;
  106. }
  107. }
  108. }
  109. return arr;
  110. }