2016-09-21 18 views

答えて

1

機能のプロパティは変更していますが、ol.geom.geometryまたはol.style.Styleのプロパティは変更していません。あなたのジオメトリがol.geom.Circleだと思います。

その後、あなたの代わりにこれを使用することができます。そして、

var styleFunction = function(feature) { 
    return [ 
    new ol.style.Style({ 
     image: new ol.style.Circle({ 
     radius: feature.get('radius'), 
     fill: new ol.style.Fill({ 
      color: 'green' 
     }) 
     }) 
    }) 
    ]; 
}; 

::スタイルの関数のように使用することをマージされていない

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

setRadiusではありません関数。 –

+0

あなたのジオメトリは 'ol.geom.Circle'ですか? JSFiddleに関連するコードを提供できますか? – Lars

+0

あなたはジオメトリではなくスタイルにsetRadiusを使用しませんが、実際にはベクトルレイヤー上にスタイル関数が必要だと思います。 http://openlayers.org/en/latest/apidoc/ol.layer.Vector.html#setStyleおよびhttp://www.acuriousanimal.com/thebookofopenlayers3/chapter04_06_text_style.htmlを参照してください。 –

0

this PRながらそれは言う

$(document).on("keypress", "#radius", function() { 
    circleFeature.set("radius",parseInt($("#radius").val())); 
    circleFeature.setStyle(styleFunction); 
    circleFeature.changed(); 
}); 
関連する問題