好吧,我终于可以自己解决了。这是代码,对不起,它是 CoffeeScript,但您可以使用将其转换为 JavaScriptthis将它翻译成 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;
}
}