я скорректировали openlayers basic draw example и всякий раз, когда я переключение от точки в LineString или Polygon режим рисования, он правильно работает только для впервые, но сбой при переключении обнуления.Изменение рисунка инструментов на лету
F.I. я не могу вернуться к рисованию точку после использования LineString (он продолжает рисовать меня LineString, но отпечатки drawingtool логарифмически точка)
Мой HTML для кнопок в модальных:
<div class="modal-body row">
<div class="col-xs-12 col-sm-3">
<a id="Point" href="#" class="draw btn btn-primary btn-block"><span class="icon ion-android-pin"></span> Point</a>
</div>
<div class="col-xs-12 col-sm-3">
<a id="LineString" href="#" class="draw btn btn-primary btn-block"><span class="icon ion-android-pin"></span> Polyline</a>
</div>
<div class="col-xs-12 col-sm-3">
<a id="Polygon" href="#" class="draw btn btn-primary btn-block"><span class="ion ion-ios-grid-view-outline"></span> Polygon</a>
</div>
<div class="col-xs-12 col-sm-3">
<a href="#" class="btn btn-primary btn-block"><span class="ion ion-pinpoint"></span> Coordinates</a>
</div>
</div>
</div>
А вот часть ЯШ:
function addInteraction() {
draw = new ol.interaction.Draw({
features: features,
type: /** @type {ol.geom.GeometryType} */ (drawtool)
});
map.addInteraction(draw);
}
$('.draw').on("click", function(e) {
//e.preventDefault(); - commented by me - no difference
drawtool = $(this).attr('id');
$("#drawModal").modal('toggle');
addInteraction();
});
Вы также можете найти весь код на jsFiddle
Спасибо, я не мог понять, как удалить существующие взаимодействия. Можете ли вы также дать направление для более чистого и более продуманного направления? – Kaha