2016-12-01 9 views
3

カスタムHTMLをレイヤーグループとレイヤーコントロールに挿入する方法はありますか?リーフレットレイヤーグループとレイヤーコントロールにカスタムHTMLを追加することは可能ですか?

私たちのアプリケーションでは、不透明度の設定を調整するためのスライダ(入力:範囲)を実装しました。コントロールコンテナ内のベースレイヤ用の専用スライダが意味をなされるようになっています。このコントロールを変更するオプションやパラメータがありません:

existing layer group control

理想的には、(このグループ内のカスタムスライダとレイヤコントロールを作成したい、明らかに私たちの「ベース層」コントロールグループは、単一のセットに制限されていますレイヤーオプション):

example of what we'd like to achieve

は、任意のヘルプをありがとう!

答えて

2

デフォルトコードではありません。

ただし、追加機能のビット、例えば:

L.Control.Layers.WithSomethingExtra = L.Control.Layers.extend({ 
    _initLayout: function() { 
    L.Control.Layers.prototype._initLayout.call(this); 
    L.DomUtil.create('div', 'leaflet-control-layers-separator', this._form); 
    var myThing = L.DomUtil.create('div', 'some-extra-thing', this._form); 
    myThing.innerHTML = 'My custom thing inside the layers control!!'; 
    } 
}); 

このworking demo hereを参照してくださいを追加し、レイヤーコントロールを拡張し、サブクラスを作成することができます。

これが混乱する場合は、source code for src/control/Control.Layers.jsLeaflet tutorialsを読んでください。

+0

感謝あなた、イワン。残念ながら、それはinnerHTMLのための基本的なテキストでしか動作しないようです。 制御に切り替えると、エラーが発生します。未定義のプロパティ 'layer'を読み取ることができません。何か案は? –

+0

それは別の別の問題です。 https://github.com/Leaflet/Leaflet/issues/5116 – IvanSanchez

+0

私はここでカスタムハックを実装しました:https://playground-leaflet.rhcloud.com/xunu/1/edit?html,outputこれはうまくいくと思います今のところ –

関連する問題