Я использую довольно простую реализацию библиотеки mapbox-gl-draw и могу успешно нарисовать точку с помощью приведенного ниже примера.
mapObject.drawing = new MapboxDraw({
styles: MAPBOX_DRAW_STYLES,
displayControlsDefault: false,
controls: {
trash: true
}
});
mapObject.map.addControl(mapObject.drawing);
mapObject.drawing.changeMode('draw_point');
После этого я могу захватить объект вв событии 'draw.create'
this.mapObject.map.on('draw.create', e => {
console.log(e.features[0]);
});
Именно в этом событии я хочу иметь возможность установить режим обратно для рисования точек, чтобы пользователь мог рисовать несколько точек.Я пробовал много итераций ниже:
this.mapObject.map.on('draw.create', e => {
console.log(e.features[0]);
mapObject.drawing.getMode(); // draw_point
mapObject.drawing.changeMode('simple_select');
mapObject.drawing.getMode(); // simple_select
mapObject.drawing.changeMode('draw_point');
mapObject.drawing.getMode(); // draw_point
});
Кажется, что рисование точки еще не закончено.Документация заставляет меня поверить, что по умолчанию она должна вернуться к simple_select
- По умолчанию рисование выполняется в режиме simple_select и автоматически переходит в режим simple_select каждый раз, когда пользователь завершает рисование объекта иливыход из режима direct_select.
Как включить рисование дополнительных точек сразу после друг друга?
https://plnkr.co/x3R0TtHsNGzxPxAOL7HH