UNPKG

google-maps-drawing-tools

Version:
51 lines 5.01 kB
import guid from './utils/guid'; /** * Base class for all tools */ /** * Available tool ids to use for `manager.changeTool`. */ export var ToolId; (function (ToolId) { ToolId["Marker"] = "marker"; ToolId["Circle"] = "circle"; ToolId["Polygon"] = "polygon"; ToolId["Line"] = "line"; ToolId["Rectangle"] = "rectangle"; })(ToolId || (ToolId = {})); export default class Tool { constructor(options) { this.map = options.map; } activate() { // TODO if (this.map) { this.map.setOptions({ draggableCursor: 'crosshair' }); } this.shape = { id: guid(), 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; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaXJhZGNoZW5rby93b3Jrc3BhY2UvZ29vZ2xlLW1hcHMtZHJhd2luZy10b29scy8iLCJzb3VyY2VzIjpbInRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sY0FBYyxDQUFDO0FBRWhDOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxNQU1YO0FBTkQsV0FBWSxNQUFNO0lBQ2hCLDJCQUFpQixDQUFBO0lBQ2pCLDJCQUFpQixDQUFBO0lBQ2pCLDZCQUFtQixDQUFBO0lBQ25CLHVCQUFhLENBQUE7SUFDYixpQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsTUFBTSxLQUFOLE1BQU0sUUFNakI7QUFrQkQsTUFBTSxDQUFDLE9BQU87SUFPWixZQUFZLE9BQW9CO1FBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDVixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPO1FBQ1AsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUE2QztRQUN2RCxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBndWlkIGZyb20gJy4vdXRpbHMvZ3VpZCc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIHRvb2xzXG4gKi9cblxuLyoqXG4gKiBBdmFpbGFibGUgdG9vbCBpZHMgdG8gdXNlIGZvciBgbWFuYWdlci5jaGFuZ2VUb29sYC5cbiAqL1xuZXhwb3J0IGVudW0gVG9vbElkIHtcbiAgTWFya2VyID0gJ21hcmtlcicsXG4gIENpcmNsZSA9ICdjaXJjbGUnLFxuICBQb2x5Z29uID0gJ3BvbHlnb24nLFxuICBMaW5lID0gJ2xpbmUnLFxuICBSZWN0YW5nbGUgPSAncmVjdGFuZ2xlJ1xufVxuXG4vKipcbiAqIE9iamVjdCByZXByZXNlbnRpbmcgdGhlIHNoYXBlIGluIHByb2dyZXNzIG9yIGNvbXBsZXRlZC5cbiAqXG4gKiBXaGVuIHRoZSBzaGFwZSBpcyBjb21wbGV0ZWQsIHRoaXMgb2JqZWN0IHdpbGwgaGF2ZSBpdCdzIGBmZWF0dXJlYCBhdHRyaWJ1dGVcbiAqIGZpbGxlZCBpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaGFwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRvb2xUeXBlPzogVG9vbElkO1xuICBmZWF0dXJlPzogZ29vZ2xlLm1hcHMuRGF0YS5GZWF0dXJlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xPcHRpb25zIHtcbiAgbWFwOiBnb29nbGUubWFwcy5NYXA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIFRvb2wge1xuICBtYXA6IGdvb2dsZS5tYXBzLk1hcCB8IG51bGw7XG4gIGlkPzogVG9vbElkO1xuICBzaGFwZT86IFNoYXBlO1xuXG4gIHByaXZhdGUgX2ZlYXR1cmU/OiBnb29nbGUubWFwcy5EYXRhLkZlYXR1cmU7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogVG9vbE9wdGlvbnMpIHtcbiAgICB0aGlzLm1hcCA9IG9wdGlvbnMubWFwO1xuICB9XG5cbiAgYWN0aXZhdGUoKSB7XG4gICAgLy8gVE9ET1xuICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgdGhpcy5tYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZUN1cnNvcjogJ2Nyb3NzaGFpcicgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zaGFwZSA9IHtcbiAgICAgIGlkOiBndWlkKCksXG4gICAgICB0b29sVHlwZTogdGhpcy5pZCxcbiAgICAgIGZlYXR1cmU6IHRoaXMuZmVhdHVyZVxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5zaGFwZTtcbiAgfVxuXG4gIGRlYWN0aXZhdGUoKSB7XG4gICAgLy8gVE9ET1xuICAgIGlmICh0aGlzLm1hcCkge1xuICAgICAgdGhpcy5tYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZUN1cnNvcjogJ2RlZmF1bHQnIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldCBmZWF0dXJlKGZlYXR1cmU6IGdvb2dsZS5tYXBzLkRhdGEuRmVhdHVyZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChmZWF0dXJlICYmIHRoaXMuc2hhcGUpIHtcbiAgICAgIGZlYXR1cmUuc2V0UHJvcGVydHkoJ2lkJywgdGhpcy5zaGFwZS5pZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hhcGUpIHtcbiAgICAgIHRoaXMuc2hhcGUuZmVhdHVyZSA9IGZlYXR1cmU7XG4gICAgfVxuXG4gICAgdGhpcy5fZmVhdHVyZSA9IGZlYXR1cmU7XG4gIH1cblxuICBnZXQgZmVhdHVyZSgpOiBnb29nbGUubWFwcy5EYXRhLkZlYXR1cmUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG59XG4iXX0=