DivIconを作成するときにcssスタイルを設定できるようにしたいと思います。
現時点では、cssクラスのみを構成できます。
使用事例:
マーカーアイコンの形状を定義するcssクラスがありますが、アイコンの色はデータベースからのデータに基づいて動的に設定されるため、cssクラスにハードコーディングすることはできません。
こんにちは、
アイコンの色はどういう意味ですか? cssでbackground-colorを設定し、DivIconで色を変更しました
それはあなたが必要なものではありませんか? もっと具体的にお願いできますか?
こんにちは@ samik88 、
ユースケースで指定したように、マーカーアイコンの色(RGBカラーコード)はマーカー座標を使用してデータベースから取得されるため、cssクラスで定義することはできません(これを行うには、16777215を作成する必要があります) cssクラス(不透明度を含まないrgbカラーコードごとに1つ)。これはばかげたことです)。
マーカーのRGB色を入力できるテキストフィールドを追加することで、例を変更してユースケースを確認できます。そうすると、DivIconで設定できないため、マーカーアイコンの色を変更できなくなります。
これを行うには、生成されたDIVにcssスタイル属性を設定できるようにする必要があります
この機能はで覆うことができるgetElement()
の方法L.Marker
例えば、:
var marker = new L.Marker(myCenter, {
icon: L.divIcon()
});
map.addLayer(marker);
marker.getElement().style.border = '5px dotted lime';
marker.getElement().style.width = '50px';
marker.getElement().style.height = '50px';
実例を参照し
これはちょっとエッジケースなので、 L.DivIcon
クラスを拡張してカスタムスタイルを追加することをお勧めします。プラグインの作成に関するチュートリアルを読んで
L.DivIcon.CustomColor = L.DivIcon.extend({
createIcon: function(oldIcon) {
var icon = L.DivIcon.prototype.createIcon.call(this, oldIcon);
icon.style.backgroundColor = this.options.color;
return icon;
}
})
個人的にはこれが広く使われている機能だとは思わないので、とりあえず閉じます。
最も参考になるコメント
この機能はで覆うことができる
getElement()
の方法L.Marker
例えば、:実例を参照し
これはちょっとエッジケースなので、
L.DivIcon
クラスを拡張してカスタムスタイルを追加することをお勧めします。プラグインの作成に関するチュートリアルを読んで個人的にはこれが広く使われている機能だとは思わないので、とりあえず閉じます。