我正在使用传单应用,用户绘制一些形状。 使用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未在图标选项中设置(请参阅文档)。
如果有人对此问题有所了解,请提供帮助。谢谢您的时间。
答案 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以供参考。