やっと自力で直せるようになりました。コードは次のとおりです。CoffeeScript で申し訳ありませんが、thisを使用して JavaScript に変換できます。
最初にしたことは、DivIcon を拡張するための新しいクラスを作成して、デフォルトで非アクティブ化されている DivIcon のシャドウ プロパティを再アクティブ化することでした。
class DivIconWithShadow extends L.DivIcon
createShadow: (oldIcon) ->
return L.Icon::createShadow.call this, oldIcon
次に、コードで次のコードを使用して、アイコン付きのマーカーを作成します。
L.marker(latLng,
icon: new DivIconWithShadow _.extend iconOptions,
className: 'my-class',
html: """
<div class='icon_pin'>
<div class='logo' style='background-image: url(\"#{myVariablePath}\")'> </div>
<div class='top_pin'> </div>
</div>
"""
).addTo(@map)
そして、CSSにこのようなものを入れてスタイルを整えることができます
.icon_pin {
.top_pin {
position: absolute;
.at2x('../images/pingreen_open.png', 43px, 58px);
background-repeat: no-repeat;
width: 43px;
height: 58px;
}
.logo {
position: absolute;
width: 29px;
height: 29px;
margin-left: 7px;
margin-top: 7px;
background-size: 29px 29px;
background-position: center center;
background-color: white;
}
}