5
DrawFeatureコントロールのシフトキーまたはフリーハンドモードを無効にしたいとします。 A典型的なコードは以下のようになります。OpenLayers:DrawFeatureのシフトキーまたはフリーハンドモードを無効にする方法
var drawOptions = {handlerOptions: {freehand: true}};
drawFeatureControl = new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path, drawOptions);
map.addControl(drawFeatureControl);
フリーハンドに切り替えるためのオプションがあります。しかし、それを完全に無効にするものはありません。 シフトを押すたびに、フリーハンドモードが使用されます。
私の使用例では、シフトキーを別の動作に使用したいと考えています。
パーフェクト!できます。しかし、今はシフトが押されている間にOpenLayers.Control.Navigation()の正方形が現れます;)これについてのトリックも知っていますか? – strangeoptics
ハム、 'map.getControlsByClass( 'OpenLayers.Control.Navigation')[0] .zoomBox.deactivate()'のようなもの? – tonio
「map.getControlsByClass( 'OpenLayers.Control.Navigation')[0] .zoomBox.deactivate()」は、OpenLayers 2.13.1の「Shift-Zoom-Box-feature」を無効にします。 – alfonx