繁体   English   中英

将自定义图标添加到 Leaflet Draw 工具栏

[英]Add custom icons to Leaflet Draw toolbar

注意:模拟帖子更改默认图标工具栏(传单)

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

传单绘制工具栏

如图所示,我有两个标记。 目标是更改工具栏中的图标之一。 我的代码如下:

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: '...'
                  }
              ];
          }
      });

正如您检查元素中看到的那样,有这个 CSS 属性:

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

精灵表是:

精灵表

您可以简单地编辑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、图像或内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM