我正在尝试使用以下方法动态增加圆圈围栏的大小:

$(document).on("keypress", "#radius", function () {
    circleFeature.set("radius",parseInt($("#radius").val()));
});


我最初使用以下代码创建了圈子:

 var circleFeature = new ol.Feature(circle);
    circleFeature.set('fenceId', fenceId);
    circleFeature.set('latitude', latitude);
    circleFeature.set('longitude', longitude);
    circleFeature.set('radius', givenRadius);
    circleFeature.set('circleRadius', radius);
    circleFeature.set('desc', desc);
    circleFeature.set('isActive', isActive);


当我按输入半径时,会触发按键事件,但圆形的大小不会改变。

最佳答案

您要更改要素属性,但不能更改ol.geom.geometryol.style.Style的属性。我想您的几何形状是ol.geom.Circle

然后,您可以改用以下代码:

$(document).on("keypress", "#radius", function () {
    circleFeature.getGeometry().setRadius(parseInt($("#radius").val()));
});

09-26 19:17