UNPKG

google-maps-drawing-tools

Version:
54 lines 5.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const guid_1 = require("./utils/guid"); /** * Base class for all tools */ /** * Available tool ids to use for `manager.changeTool`. */ var ToolId; (function (ToolId) { ToolId["Marker"] = "marker"; ToolId["Circle"] = "circle"; ToolId["Polygon"] = "polygon"; ToolId["Line"] = "line"; ToolId["Rectangle"] = "rectangle"; })(ToolId = exports.ToolId || (exports.ToolId = {})); class Tool { constructor(options) { this.map = options.map; } activate() { // TODO if (this.map) { this.map.setOptions({ draggableCursor: 'crosshair' }); } this.shape = { id: guid_1.default(), toolType: this.id, feature: this.feature }; return this.shape; } deactivate() { // TODO if (this.map) { this.map.setOptions({ draggableCursor: 'default' }); } } set feature(feature) { if (feature && this.shape) { feature.setProperty('id', this.shape.id); } if (this.shape) { this.shape.feature = feature; } this._feature = feature; } get feature() { return this._feature; } } exports.default = Tool; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaXJhZGNoZW5rby93b3Jrc3BhY2UvZ29vZ2xlLW1hcHMtZHJhd2luZy10b29scy8iLCJzb3VyY2VzIjpbInRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx1Q0FBZ0M7QUFFaEM7O0dBRUc7QUFFSDs7R0FFRztBQUNILElBQVksTUFNWDtBQU5ELFdBQVksTUFBTTtJQUNoQiwyQkFBaUIsQ0FBQTtJQUNqQiwyQkFBaUIsQ0FBQTtJQUNqQiw2QkFBbUIsQ0FBQTtJQUNuQix1QkFBYSxDQUFBO0lBQ2IsaUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQU5XLE1BQU0sR0FBTixjQUFNLEtBQU4sY0FBTSxRQU1qQjtBQWtCRDtJQU9FLFlBQVksT0FBb0I7UUFDOUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTztRQUNQLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsRUFBRSxFQUFFLGNBQUksRUFBRTtZQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQTZDO1FBQ3ZELElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDekIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBaERELHVCQWdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBndWlkIGZyb20gJy4vdXRpbHMvZ3VpZCc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIHRvb2xzXG4gKi9cblxuLyoqXG4gKiBBdmFpbGFibGUgdG9vbCBpZHMgdG8gdXNlIGZvciBgbWFuYWdlci5jaGFuZ2VUb29sYC5cbiAqL1xuZXhwb3J0IGVudW0gVG9vbElkIHtcbiAgTWFya2VyID0gJ21hcmtlcicsXG4gIENpcmNsZSA9ICdjaXJjbGUnLFxuICBQb2x5Z29uID0gJ3BvbHlnb24nLFxuICBMaW5lID0gJ2xpbmUnLFxuICBSZWN0YW5nbGUgPSAncmVjdGFuZ2xlJ1xufVxuXG4vKipcbiAqIE9iamVjdCByZXByZXNlbnRpbmcgdGhlIHNoYXBlIGluIHByb2dyZXNzIG9yIGNvbXBsZXRlZC5cbiAqXG4gKiBXaGVuIHRoZSBzaGFwZSBpcyBjb21wbGV0ZWQsIHRoaXMgb2JqZWN0IHdpbGwgaGF2ZSBpdCdzIGBmZWF0dXJlYCBhdHRyaWJ1dGVcbiAqIGZpbGxlZCBpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaGFwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRvb2xUeXBlPzogVG9vbElkO1xuICBmZWF0dXJlPzogZ29vZ2xlLm1hcHMuRGF0YS5GZWF0dXJlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xPcHRpb25zIHtcbiAgbWFwOiBnb29nbGUubWFwcy5NYXA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIFRvb2wge1xuICBtYXA6IGdvb2dsZS5tYXBzLk1hcCB8IG51bGw7XG4gIGlkPzogVG9vbElkO1xuICBzaGFwZT86IFNoYXBlO1xuXG4gIHByaXZhdGUgX2ZlYXR1cmU/OiBnb29nbGUubWFwcy5EYXRhLkZlYXR1cmU7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogVG9vbE9wdGlvbnMpIHtcbiAgICB0aGlzLm1hcCA9IG9wdGlvbnMubWFwO1xuICB9XG5cbiAgYWN0aXZhdGUoKSB7XG4gICAgLy8gVE9ET1xuICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgdGhpcy5tYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZUN1cnNvcjogJ2Nyb3NzaGFpcicgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zaGFwZSA9IHtcbiAgICAgIGlkOiBndWlkKCksXG4gICAgICB0b29sVHlwZTogdGhpcy5pZCxcbiAgICAgIGZlYXR1cmU6IHRoaXMuZmVhdHVyZVxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5zaGFwZTtcbiAgfVxuXG4gIGRlYWN0aXZhdGUoKSB7XG4gICAgLy8gVE9ET1xuICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgdGhpcy5tYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZUN1cnNvcjogJ2RlZmF1bHQnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldCBmZWF0dXJlKGZlYXR1cmU6IGdvb2dsZS5tYXBzLkRhdGEuRmVhdHVyZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChmZWF0dXJlICYmIHRoaXMuc2hhcGUpIHtcbiAgICAgIGZlYXR1cmUuc2V0UHJvcGVydHkoJ2lkJywgdGhpcy5zaGFwZS5pZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hhcGUpIHtcbiAgICAgIHRoaXMuc2hhcGUuZmVhdHVyZSA9IGZlYXR1cmU7XG4gICAgfVxuXG4gICAgdGhpcy5fZmVhdHVyZSA9IGZlYXR1cmU7XG4gIH1cblxuICBnZXQgZmVhdHVyZSgpOiBnb29nbGUubWFwcy5EYXRhLkZlYXR1cmUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG59XG4iXX0=