-2

ユーザーが有効にした場合にのみ OpenLayers の機能を動作させようとしています。clickSearchブール変数を true または false に変える関数を呼び出す html ボタンを作成しました。関数を でのみ動作させるにはどうすればよいclicksearch = trueですか? それはある種のif文ですか?

これは、オンとオフを切り替えたい機能を実行するコードです。

OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {                
            defaultHandlerOptions: {
                'single': true,
                'double': false,
                'pixelTolerance': 0,
                'stopSingle': false,
                'stopDouble': false
            },

            initialize: function(options) {
                this.handlerOptions = OpenLayers.Util.extend(
                    {}, this.defaultHandlerOptions
                );
                OpenLayers.Control.prototype.initialize.apply(
                    this, arguments
                ); 
                this.handler = new OpenLayers.Handler.Click(
                    this, {
                        'click': this.trigger
                    }, this.handlerOptions
                );
            }, 

            trigger: function(e) {
                var lonlat = map.getLonLatFromPixel(e.xy);
                alert("You clicked near " + lonlat.lat + " N, " +
                                          + lonlat.lon + " E");
            }
            });

これらの関数は、ブール値のclickSearchオンとオフを切り替えます

var clickSearch= false;

function turnOn(){ clickSearch=true};
function turnOff(){ clickSearch=false};

これらのボタンは、関数を呼び出してclickSearchオン/オフを切り替えます。

<button onclick="turnOn()">Turn on click-to-search</button>
<button onclick="turnOff()">Turn off click-to-search</button>
4

1 に答える 1