私はいくつかのマップを作成しましたが、リーフレットとジオサーバーを使用してそれらを公開したいと思います。すべてがうまくいっている、私はレイヤーコントロールを使用してレイヤーを変更することができますが、私は自分のボタンを使ってそれをしたいです。問題は、私はどのように把握できないということです。私はすべてのボタンを作成しているだけで、WMSタイルレイヤーをクリックしてマップに追加する機能を作成したいだけです。自分のボタンでWMSレイヤーのオン/オフを切り替える
ご協力いただければ幸いです。ここで私はこれまで試したものですが、それは仕事をdoesntの:
function appear(){
var floodToday = L.tileLayer.wms("http://localhost:8080/geoserver/wms", {
layers: 'FloodlayerWMS',
format:'image/png',
version: '1.1.1',
transparent: true
})
map.addLayer(floodToday);
}
$(".WToday").on("click",appear);
私はすでに、この答えが見つかりました:Hide/Show layerGroups in Leaflet with own Buttonsをそれが有用であることが証明されていません。私は私の問題がwmsのタイルレイヤの使用に関連していると推測していますが、私はそれをどのように回るのかはわかりません。私はJavascriptとjQueryにはほとんど知識を持っていませんが、コードを少し周りいじると異なるオプションを試した後、これは私のためにどのような作品であるようHudsonPHの答え@
UPDATE
は私のために複雑に少しでした:
$("#WToday").click(function(event) {
var floodToday = L.tileLayer.wms("http://localhost:8080/geoserver/wms", {
layers: 'FloodlayerWMS',
format:'image/png',
version: '1.1.1',
transparent: true
})
map.addLayer(floodToday);
});
ありがとうございました。
テスト用にnon-wmsレイヤーを使用しようとしましたか? – IvanSanchez
@IvanSanchez:いいえ、しかし、問題はクリックイベントが関数をトリガーしていると思います。タイムアウト時に関数を設定するとうまく動作します。問題はクリックイベントを登録しないという事実のようです。 –