OpenLayers Как изменить линейную строку и отобразить в поле формы как wkt - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть линейная строка - векторный слой с рисованным действием (которое хорошо работает yay) и отдельным select и modify-action (который не работает).То, что я хотел бы сделать, это выбрать линию, изменить ее и затем отобразить ее в поле формы в формате wkt.

Я играл с функцией, которую я уже использую для рисования,но я просто не могу заставить его работать на модификацию.Хотя использование .on("change" не приводит ни к какой обратной связи, с .on("modifyend" выдается> Uncaught TypeError: Невозможно прочитать свойство 'getGeometry' из неопределенного.Я просто не могу узнать, где я иду не так ... любая помощь будет очень признателен.

function Trail_Modify() {

    var selectTrails= new ol.interaction.Select({
        layers: [lineLayer, lyrTrails]
    });
    map.addInteraction(selectTrails);   

    modifyTrails= new ol.interaction.Modify({
        features: selectTrails.getFeatures()
    });
    map.addInteraction(modifyTrails);   

    modifyTrails.on("modifyend", function(e) {
        var feature= e.feature;
        var format = new ol.format.WKT(),
            wkt = format.writeGeometry(feature.getGeometry());
        $("#trailCoords").val(wkt);
    }, this);   
}

...