如何将自定义标记传递给折线装饰器

时间:2015-10-07 05:27:52

标签: leaflet

我正在使用传单应用,用户绘制一些形状。 使用leaflet.polyline.decorators将折线添加到该形状。 我只想知道如何将自定义标记传递给L.Symbol.marker()。

例如,我传递自定义标记,但它无效。

脚本

var myCustomMarker= L.icon({
                    iconUrl: 'assets/img/wallE.png',
                    iconSize: [30, 30], // size of the icon
                    iconAnchor: [5, 18], // point of the icon which will correspond to marker's location
                });
    new L.Marker(e.latlng, { icon: wallIcon, draggable: false }).addTo(curr);
        polylineWall.addLatLng([e.latlng.lat,e.latlng.lng]).addTo(curr);
        // Add coordinate to the polyline
        var decorator = L.polylineDecorator(polylineWall, {
        patterns: [
                { offset: 0, endOffset: 0, repeat: '10px', symbol: new L.Symbol.marker(myCustomMarker)}
                   ]
                   }).addTo(curr);

控制台错误

  

未捕获错误:iconUrl未在图标选项中设置(请参阅文档)。

如果有人对此问题有所了解,请提供帮助。谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

您未将标记选项传递到L.Symbol.Marker,而您正在传递L.Icon的实例。 L.Symbol.Marker正在其L.Marker选项中寻找一整套markerOptions选项。请使用正常的L.Marker选项,其中包括icon:myCustomMarker。请参阅https://github.com/bbecquet/Leaflet.PolylineDecorator/blob/master/src/L.Symbol.js#L110以供参考。