Использование leaflet.draw, я экземпляр drawControl I с:Как стилизовать divicons в режиме редактирования leaflet.draw?
scope.drawOptions = {
position: 'topright',
draw: {
polyline: false,
polygon: {
icon: new L.DivIcon({
iconSize: new L.Point(16, 16),
className: 'leaflet-div-icon leaflet-editing-icon my-own-class'
}),
allowIntersection: false,
drawError: {
color: '#5878B8',
message: '<strong>Oh snap!<strong> you can\'t draw that!'
},
shapeOptions: shapeOptions
},
circle: false, // Turns off this drawing tool
rectangle: false,
marker: false
},
edit: {
featureGroup: self.featureGroup
}
};
scope.drawControl = new L.Control.Draw(scope.drawOptions);
map.addControl(scope.drawControl);
Но стиль возвращается к «по умолчанию» при входе в режим редактирования. Я пытался бороться с этим:
map.on('draw:editstart', function(e) {
scope.drawControl.setDrawingOptions({
polygon: {
icon: new L.DivIcon({
iconSize: new L.Point(16, 16),
className: 'leaflet-div-icon leaflet-editing-icon my-own-class'
})
},
})
});
Но это не помогло. Какие-либо предложения?
Там закрытый GitHub вопрос об этом, но я не мог понять: https://github.com/Leaflet/Leaflet.draw/issues/48#issuecomment-141546589
Я создал этот jfiddle, если кто хочет поиграть: http://jsfiddle.net/markdickersonvt/mwz7pg2n/
Спасибо! Это именно то, что я искал. Есть ли хороший способ сделать это для непрозрачности «средних маркеров»? Прозрачность устанавливается в функции _createMiddleMarker [L.Edit.Poly Class] (https://github.com/Leaflet/Leaflet.draw/blob/1f49919df00467a234a9ed94c93bbfa9d804f6ec/src/edit/handler/Edit.Poly.js). Я попытался расширить класс 'L.Edit.Poly 'и посмотреть, могу ли я переопределить эту функцию, но у меня появились некоторые ошибки. –