UNPKG

google-maps-drawing-tools

Version:
44 lines 5.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tool_1 = require("../tool"); class LineTool extends tool_1.default { constructor(options) { super(options); this.id = tool_1.ToolId.Line; this.data = options.data; // private this.dataId = 'LineString'; this.dataStyle = options.style || { strokeColor: '#374046', strokeWeight: 2, clickable: false }; } activate() { let shape = super.activate(); this.data.setDrawingMode(this.dataId); this.data.setStyle(this.dataStyle); this.setupListeners(); return shape; } deactivate() { super.deactivate(); this.data.setDrawingMode(null); this.cleanupListeners(); } setupListeners() { let listener = this.data.addListener('addfeature', ({ feature }) => { this.feature = feature; this.deactivate(); }); this.feature = undefined; this.dataListener = listener; } cleanupListeners() { if (this.dataListener) { google.maps.event.removeListener(this.dataListener); } } } exports.default = LineTool; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaXJhZGNoZW5rby93b3Jrc3BhY2UvZ29vZ2xlLW1hcHMtZHJhd2luZy10b29scy8iLCJzb3VyY2VzIjpbInRvb2xzL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQ0FBMkQ7QUFTM0QsY0FBOEIsU0FBUSxjQUFJO0lBUXhDLFlBQVksT0FBd0I7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEVBQUUsR0FBRyxhQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUV6QixVQUFVO1FBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJO1lBQ2hDLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFlBQVksRUFBRSxDQUFDO1lBQ2YsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFVBQVU7UUFDUixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDO0NBQ0Y7QUF4REQsMkJBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRvb2wsIHsgU2hhcGUsIFRvb2xJZCwgVG9vbE9wdGlvbnMgfSBmcm9tICcuLi90b29sJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW5lVG9vbE9wdGlvbnMgZXh0ZW5kcyBUb29sT3B0aW9ucyB7XG4gIGRhdGE6IGdvb2dsZS5tYXBzLkRhdGE7XG4gIHN0eWxlPzogZ29vZ2xlLm1hcHMuRGF0YS5TdHlsZU9wdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIERyYXdpbmdNb2RlID0gJ1BvaW50JyB8ICdMaW5lU3RyaW5nJyB8ICdQb2x5Z29uJyB8IG51bGw7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpbmVUb29sIGV4dGVuZHMgVG9vbCB7XG4gIGlkOiBUb29sSWQ7XG4gIGRhdGE6IGdvb2dsZS5tYXBzLkRhdGE7XG5cbiAgcHJpdmF0ZSBkYXRhSWQ6IERyYXdpbmdNb2RlO1xuICBwcml2YXRlIGRhdGFTdHlsZTogZ29vZ2xlLm1hcHMuRGF0YS5TdHlsZU9wdGlvbnM7XG4gIHByaXZhdGUgZGF0YUxpc3RlbmVyPzogZ29vZ2xlLm1hcHMuTWFwc0V2ZW50TGlzdGVuZXI7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTGluZVRvb2xPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmlkID0gVG9vbElkLkxpbmU7XG4gICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuXG4gICAgLy8gcHJpdmF0ZVxuICAgIHRoaXMuZGF0YUlkID0gJ0xpbmVTdHJpbmcnO1xuICAgIHRoaXMuZGF0YVN0eWxlID0gb3B0aW9ucy5zdHlsZSB8fCB7XG4gICAgICBzdHJva2VDb2xvcjogJyMzNzQwNDYnLFxuICAgICAgc3Ryb2tlV2VpZ2h0OiAyLFxuICAgICAgY2xpY2thYmxlOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICBhY3RpdmF0ZSgpOiBTaGFwZSB7XG4gICAgbGV0IHNoYXBlID0gc3VwZXIuYWN0aXZhdGUoKTtcblxuICAgIHRoaXMuZGF0YS5zZXREcmF3aW5nTW9kZSh0aGlzLmRhdGFJZCk7XG4gICAgdGhpcy5kYXRhLnNldFN0eWxlKHRoaXMuZGF0YVN0eWxlKTtcblxuICAgIHRoaXMuc2V0dXBMaXN0ZW5lcnMoKTtcblxuICAgIHJldHVybiBzaGFwZTtcbiAgfVxuXG4gIGRlYWN0aXZhdGUoKSB7XG4gICAgc3VwZXIuZGVhY3RpdmF0ZSgpO1xuXG4gICAgdGhpcy5kYXRhLnNldERyYXdpbmdNb2RlKG51bGwpO1xuICAgIHRoaXMuY2xlYW51cExpc3RlbmVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cExpc3RlbmVycygpIHtcbiAgICBsZXQgbGlzdGVuZXIgPSB0aGlzLmRhdGEuYWRkTGlzdGVuZXIoJ2FkZGZlYXR1cmUnLCAoeyBmZWF0dXJlIH0pID0+IHtcbiAgICAgIHRoaXMuZmVhdHVyZSA9IGZlYXR1cmU7XG4gICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmVhdHVyZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRhdGFMaXN0ZW5lciA9IGxpc3RlbmVyO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhbnVwTGlzdGVuZXJzKCkge1xuICAgIGlmICh0aGlzLmRhdGFMaXN0ZW5lcikge1xuICAgICAgZ29vZ2xlLm1hcHMuZXZlbnQucmVtb3ZlTGlzdGVuZXIodGhpcy5kYXRhTGlzdGVuZXIpO1xuICAgIH1cbiAgfVxufVxuIl19