1 //划线 2 this.drawLine = function (type) { 3 //清除双击放大效果 4 this.map.getInteractions().item(1).setActive(false); 5 var draw = new ol.interaction.Draw({ 6 source: _vector.getSource(), 7 type: (type == 'point' ? 'Point' : 'LineString'), 8 style: new ol.style.Style({ 9 fill: new ol.style.Fill({ 10 color: 'rgba(255, 255, 255, 0.2)' 11 }), 12 //划线的时候的图样 13 stroke: new ol.style.Stroke({ 14 color: 'rgba(0, 0, 0, 0.5)', 15 lineDash: [10, 10], 16 2 17 }), 18 image: new ol.style.Circle({ 19 radius: 5, 20 stroke: new ol.style.Stroke({ 21 color: 'rgba(0, 0, 0, 0.7)' 22 }), 23 fill: new ol.style.Fill({ 24 color: 'rgba(255, 255, 255, 0.2)' 25 }) 26 }) 27 }) 28 }); 29 this.map.addInteraction(draw); 30 //画好线的操作 31 draw.on('drawend', function (evt) { 32 this.map.removeInteraction(draw); 33 },this) 34 35 36 }