无法在传单绘制中调整半径
Can not adjust radius in leaflet draw
我使用的是新版本Leaflet Draw。有个问题是圆的半径不能编辑。可以编辑和调整多边形和线。我可以用编辑工具移动圆圈,但不能改变它的半径。
这是绘图插件 edit/handler/Edit.Circle.js
中的错误。我现在通过覆盖 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 })
}
})
我在这个问题中解决了这个问题:
https://github.com/Leaflet/Leaflet.draw/pull/968
我使用的是新版本Leaflet Draw。有个问题是圆的半径不能编辑。可以编辑和调整多边形和线。我可以用编辑工具移动圆圈,但不能改变它的半径。
这是绘图插件 edit/handler/Edit.Circle.js
中的错误。我现在通过覆盖 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 })
}
})
我在这个问题中解决了这个问题: https://github.com/Leaflet/Leaflet.draw/pull/968