diff src/djol/MeasureToolBase.js @ 34:27e8e9e38e07 default tip

Слияние
author nickolay
date Wed, 05 Jun 2019 20:44:15 +0300
parents 8af8e840dd49 1dc2fd263b90
children
line wrap: on
line diff
--- a/src/djol/MeasureToolBase.js	Wed Jun 05 17:44:17 2019 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-define([
-    "dojo/_base/declare",
-    "implab/safe",
-    "ol",
-    "./listen",
-    "./_ToolBase",
-    "dojo/dom-construct",
-    "dojo/dom-class"
-], function (declare, safe, ol, listen, _ToolBase, dconstruct, dclass) {
-    return declare([_ToolBase], {
-        _draw: null,
-
-        drawStyle: new ol.style.Style({
-            fill: new ol.style.Fill({
-                color: 'rgba(255, 255, 255, 0.2)'
-            }),
-            stroke: new ol.style.Stroke({
-                color: 'rgba(230, 126, 34, 0.7)',
-                lineDash: [10, 10],
-                width: 2
-            }),
-            image: new ol.style.Circle({
-                radius: 5,
-                stroke: new ol.style.Stroke({
-                    color: 'rgba(0, 0, 0, 0.7)'
-                }),
-                fill: new ol.style.Fill({
-                    color: 'rgba(255, 255, 255, 0.2)'
-                })
-            })
-        }),
-
-        vectorStyle: new ol.style.Style({
-            fill: new ol.style.Fill({
-                color: 'rgba(255, 255, 255, 0.2)'
-            }),
-            stroke: new ol.style.Stroke({
-                color: '#ffcc33',
-                width: 2
-            }),
-            image: new ol.style.Circle({
-                radius: 7,
-                fill: new ol.style.Fill({
-                    color: '#ffcc33'
-                })
-            })
-        }),
-
-        _map: null,
-
-        _olMap: null,
-
-        _measureTooltipElement: null,
-        /**
-         * Overlay to show the measurement.
-         * 
-         * @type {ol.Overlay}
-         */
-        _measureTooltip: null,
-
-        _pointermoveKey: null,
-
-        _sketch: null,
-
-        _overlays: null,
-
-        _vector: null,
-
-        wgs84Sphere: new ol.Sphere(6378137),
-
-        constructor: function (options) {
-            safe.argumentNotNull(options, "options");
-            safe.argumentNotNull(options.map, "map");
-
-            this._map = options.map;
-            this._olMap = options.map.olMap;
-            this._overlays = [];
-        },
-
-        init: function () {
-            if (this._draw)
-                return;
-
-            var source = new ol.source.Vector();
-
-            this._vector = new ol.layer.Vector({
-                source: source,
-                style: this.vectorStyle
-            });
-            this._map.addLayer(this._vector);
-
-            this._draw = this._createDraw(source);
-            this._draw.on('drawstart', this._onDrawStart, this);
-            this._draw.on('drawend', this._onDrawEnd, this);
-
-        },
-
-        onActivating: function () {
-            this.init();
-
-            this._pointermoveKey = listen(this._olMap, 'pointermove', safe.delegate(this, "_onPointerMove"));
-            this._olMap.addInteraction(this._draw);
-
-            return this.inherited(arguments);
-        },
-
-        onDeactivating: function () {
-            // отключаем рисование и получение сообщений
-            if (this._pointermoveKey)
-                this._pointermoveKey.remove();
-            this._olMap.removeInteraction(this._draw);
-
-            // если был активен инструмент
-            if (this._sketch) {
-                // убиваем подсказку и сбрасываем текущее рисование
-                this._sketch = null;
-                this._measureTooltipElement = null;
-                this._olMap.removeOverlay(this._measureTooltip);
-            }
-
-            return this.inherited(arguments);
-        },
-
-        clear: function () {
-            var me = this;
-            me.log("clear");
-            if (me._vector) {
-                me._vector.getSource().clear();
-                me._overlays.forEach(function (x) {
-                    me._olMap.removeOverlay(x);
-                });
-            }
-        },
-
-        _createMeasureTooltip: function () {
-            this._measureTooltipElement = dconstruct.create("div", {
-                "class": 'tooltip poisk-measure-tooltip'
-            });
-            this._measureTooltip = new ol.Overlay({
-                element: this._measureTooltipElement,
-                offset: [0, -15],
-                positioning: 'bottom-center'
-            });
-            this._olMap.addOverlay(this._measureTooltip);
-
-        },
-
-        _onDrawStart: function (evt) {
-            this._sketch = evt.feature;
-            this._createMeasureTooltip();
-        },
-
-        _onDrawEnd: function (evt) {
-
-            this._measureTooltip.setOffset([0, -7]);
-
-            dclass.remove(this._measureTooltipElement, "tooltip");
-            dclass.add(this._measureTooltipElement, "tooltip-static");
-
-            this._overlays.push(this._measureTooltip);
-
-            this._sketch = null;
-            this._measureTooltip = null;
-            this._measureTooltipElement = null;
-        },
-
-        _onPointerMove: function (evt) {
-            if (this._sketch && !evt.dragging) {
-                this._measureTooltip.setPosition(evt.coordinate);
-                this._measureTooltipElement.innerHTML = this._formatTooltip(
-                    this._sketch,
-                    this._olMap.getView().getProjection());
-            }
-        },
-
-        _formatTooltip: function (sketch, proj) {
-
-        }
-    });
-
-});
\ No newline at end of file