var arrow = { isActivate: false, drawArr: [], handler: null, viewer: null, init: function(viewer) { if (!this.isActivate) { this.isActivate = true; this.viewer = viewer; this.bindEdit(); } }, disable: function() { if (this.isActivate) { this.isActivate = false; for (var i = 0; i < this.drawArr.length; i++) { this.drawArr[i].disable(); } this.drawArr = []; if (this.handler) { this.handler.destroy(); this.handler = null; } this.viewer = null; } }, draw: function(type) { switch (type) { case "straightArrow": var straightArrow = new StraightArrow(viewer); straightArrow.startDraw(); this.drawArr.push(straightArrow); break; case "attackArrow": var attackArrow = new AttackArrow(viewer); attackArrow.startDraw(); this.drawArr.push(attackArrow); break; case "pincerArrow": var pincerArrow = new PincerArrow(viewer); pincerArrow.startDraw(); this.drawArr.push(pincerArrow); default: break; } }, saveData: function() { //保存用户数据 var jsonData = { straightArrowData: [], attackArrowData: [], pincerArrowData: [] } for (var step = 0; step < this.drawArr.length; step++) { var item = this.drawArr[step]; var positions = item.getLnglats(); if (item.type == "StraightArrow") { jsonData.straightArrowData.push(positions); } else if (item.type == "AttackArrow") { jsonData.attackArrowData.push(positions); } else { jsonData.pincerArrowData.push(positions); } } console.log("保存的数据:" + JSON.stringify(jsonData)); }, showData: function(jsonData) { //展示用户保存的数据 if(!jsonData) return ; var straightArrowArr = jsonData.straightArrowData; var attackArrowArr = jsonData.attackArrowData; var pincerArrowArr = jsonData.pincerArrowData; //展示直线箭头 for(var i=0;i