2017-09-27 178 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

相關問題