我正在尝试使用以下方法动态增加圆圈围栏的大小:
$(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.geometry
或ol.style.Style
的属性。我想您的几何形状是ol.geom.Circle
。
然后,您可以改用以下代码:
$(document).on("keypress", "#radius", function () {
circleFeature.getGeometry().setRadius(parseInt($("#radius").val()));
});