code: function() {
      this._locked = true;
      this._measureVertexes = L.featureGroup().addTo(this._layer);
      this._captureMarker = L.marker(this._map.getCenter(), {
        clickable: true,
        zIndexOffset: this.options.captureZIndex,
        opacity: 0
      }).addTo(this._layer);
      this._setCaptureMarkerIcon();
  
      this._captureMarker
        .on('mouseout', this._handleMapMouseOut, this)
        .on('dblclick', this._handleMeasureDoubleClick, this)
        .on('click', this._handleMeasureClick, this);
  
      this._map
        .on('mousemove', this._handleMeasureMove, this)
        .on('mouseout', this._handleMapMouseOut, this)
        .on('move', this._centerCaptureMarker, this)
        .on('resize', this._setCaptureMarkerIcon, this);
  
      L.DomEvent.on(this._container, 'mouseenter', this._handleMapMouseOut, this);
  
      this._updateMeasureStartedNoPoints();
  
      this._map.fire('measurestart', null, false);
    }
docs: get state vars and interface ready for measure