正如你可能知道的,在leaflet-geoman中有一个叫做"drawCircle“的函数,它可以让你画一个以圆心为中心并用鼠标扩展半径的圆。对于我的用法,我想在拖动圆的时候限制这个特性,因为现在我要做的就是检查这个圆在pm:create事件之后是否太大。
这就是我现在要做的:
if (e.layer.getRadius() > 400) {
attivaToast("Circle is too big!", "error", "#e74c3c");
map.removeLayer(e.layer)
return;
}这就是我想要的,但我做不到:
map.on('pm:someCircleDragEvent' e=> checkCircleSize(e));如果你有任何想法,提前感谢。
PS:我不想使用Leaflet.draw或其他插件。
发布于 2020-07-13 17:40:34
要获得快速修复,您可以调用:
map.pm.Draw.Circle._syncCircleRadius = function _syncCircleRadius() {
var A = this._centerMarker.getLatLng();
var B = this._hintMarker.getLatLng();
var distance = A.distanceTo(B);
if(distance < 500){
this._layer.setRadius(distance);
}
}这是一个很好的想法,我将在leaflet geoman?中实现它
https://stackoverflow.com/questions/62873028
复制相似问题