2017-09-27 95 views
0

注意:同步发布到change default icon toolbar (Leaflet)将自定义图标添加到单张绘制工具栏

嘿家伙。我正在尝试为传单Draw工具栏添加一个自定义图标。但我似乎无法弄清楚如何。

Leaflet draw toolbar

正如所看到的图像上,我有两个标记。目标是更改工具栏中的一个图标。我的代码如下:

L.DrawToolbar.include({ 
      getModeHandlers: function (map) { 
       return [   
        { 
         enabled: true, 
         handler: new L.Draw.Polyline(map, { metric: true, repeatMode: true }), 
         title: '...' 
        }, 
        { 
         enabled: true, 
         handler: new L.Draw.Polygon(map, { allowIntersection: false, showArea: true, metric: true, repeatMode: false }), 
         title: '...' 
        }, 
        { 
         enabled: true, 
         handler: new L.Draw.Marker(map, { icon: new L.Icon.Default() }), 
         title: '...' 
        }, 
        { 
         enabled: true, 
         handler: new L.Draw.Marker(map, { icon: new L.Icon.Default() }), 
         title: '...' 
        } 
       ]; 
      } 
     }); 

回答

1

正如你可以看到here与检查元素有这样的CSS属性:

.leaflet-draw-toolbar a { 
    background-image: url(images/spritesheet.png); 
    background-repeat: no-repeat; 
} 

Spritesheet是:

Spritesheet

您只需编辑background-image: url();与你想要的a元素上的图标的URL(多边形一的例子):

.leaflet-draw-toolbar .leaflet-draw-draw-polygon { 
    background: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20'><circle cx='5' cy='5' r='5' /></svg>) no-repeat; 
    background-color: #FFF; 
} 

您可以添加SVG,图像或内容。

+0

非常感谢您的回复!如果它有效,这真的很简单。我稍后再试一试。 祝你有美好的一天:) –

+0

我已经在演示中完成了尝试,它工作得很好。没问题,也有美好的一天! – Baptiste

相关问题