Невозможно настроить радиус в буклете

Я использую новую версию Leaflet Draw. Есть проблема, что радиус круга нельзя редактировать. Многоугольник и линию можно редактировать и настраивать. Я могу перемещать круг с помощью инструмента редактирования, но не могу изменить его радиус.


person Tenz    schedule 08.12.2017    source источник


Ответы (2)


Это ошибка в edit/handler/Edit.Circle.js плагина Draw. Я исправил это на данный момент, переопределив L.Edit.Circle. Я просто включил это в свой скрипт:

L.Edit.Circle = L.Edit.CircleMarker.extend({
  _createResizeMarker: function () {
    var center = this._shape.getLatLng(),
      resizemarkerPoint = this._getResizeMarkerPoint(center)

    this._resizeMarkers = []
    this._resizeMarkers.push(this._createMarker(resizemarkerPoint, this.options.resizeIcon))
  },

  _getResizeMarkerPoint: function (latlng) {
    var delta = this._shape._radius * Math.cos(Math.PI / 4),
      point = this._map.project(latlng)
    return this._map.unproject([point.x + delta, point.y - delta])
  },

  _resize: function (latlng) {
    var moveLatLng = this._moveMarker.getLatLng()
    var radius

    if (L.GeometryUtil.isVersion07x()) {
      radius = moveLatLng.distanceTo(latlng)
    }
    else {
      radius = this._map.distance(moveLatLng, latlng)
    }

    // **** This fixes the cicle resizing ****
    this._shape.setRadius(radius)

    this._map.fire(L.Draw.Event.EDITRESIZE, { layer: this._shape })
  }
})
person Daantje    schedule 02.01.2018

Я исправил эту проблему в этом выпуске: https://github.com/Leaflet/Leaflet.draw/pull/968

person iCodr8    schedule 04.11.2019