toolMeasuring3DE.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. define(function(){
  2. /**
  3. * 状态值
  4. * @type {Boolean}
  5. * @default false
  6. * @private
  7. */
  8. var status = {
  9. initialized:false,//是否初始化
  10. veiwHeightType:null
  11. };
  12. /**
  13. * 模块数据 用于数据存储和外部调用
  14. * @type {Object}
  15. * 数据存放
  16. */
  17. var modValue = {
  18. };
  19. /**
  20. * 三维高度测量初始化
  21. */
  22. function init(){
  23. if(!status.initialized){
  24. subscribe();
  25. status.initialized = true;
  26. }
  27. ONEMAP.C.publisher.publish({
  28. modName: 'toolMeasuring3DE'
  29. }, 'tools:active');
  30. };
  31. /**
  32. * 注册监听事件
  33. */
  34. function subscribe(){
  35. ONEMAP.C.publisher.subscribe(remove,'tools:active');
  36. };
  37. /**
  38. * 三维高度测量加载或移除
  39. */
  40. function remove(options){
  41. if(options.modName != 'toolMeasuring3DE'){
  42. $(".tools-measuring3DE").removeClass('cur');
  43. //removeMeasuring3DE();
  44. }else{
  45. if($(".tools-measuring3DE").hasClass('cur')){
  46. $(".tools-measuring3DE").removeClass('cur');
  47. removeMeasuring3DE();
  48. }else{
  49. $(".tools-measuring3DE").addClass('cur');
  50. addMeasuring3DE();
  51. }
  52. }
  53. }
  54. /**
  55. * 移除测量功能
  56. */
  57. function removeMeasuring3DE(){
  58. locaSpaceMap.Globe.Action = 0; //使鼠标动作返回普通浏览状态
  59. locaSpaceMap.Refresh();
  60. };
  61. /**
  62. * 加载测量动能
  63. */
  64. function addMeasuring3DE(){
  65. locaSpaceMap.Globe.Action=4;
  66. locaSpaceMap.Globe.RulerHeight.SpaceMeasure = false; // 量算模式绘制线的时候是从地表为起点向上绘制
  67. locaSpaceMap.Globe.RulerHeight.ValueMode = 1; // 量算的线上显示的值是相对地表高度
  68. locaSpaceMap.Refresh(); //刷新显示
  69. };
  70. return ONEMAP.M.toolMeasuring3DE = {
  71. init:init
  72. }
  73. })