Skip to content

Commit 928e7d2

Browse files
committed
fix 修改编辑示例编辑要素后保存没生效的问题
1 parent 407bda8 commit 928e7d2

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

examples/leaflet/drawAndEditFeatures.html

+9
Original file line numberDiff line numberDiff line change
@@ -932,6 +932,15 @@ <h5><span data-i18n="resources.text_featureToDelete"></span>:</h5>
932932
}
933933
});
934934
allAvailableLayers.forEach(function(layer) {
935+
layer.on('pm:update', function(e) {
936+
var feature = e.layer.toGeoJSON();
937+
currentFeature.dataset = feature.properties.datasetName;
938+
currentFeature.data = feature;
939+
document.querySelector('.edit-feature-info>.space-info>.input-element').value = JSON.stringify({ geometry: currentFeature.data.geometry});
940+
renderEditAttribute('edit', currentFeature.data.properties);
941+
updateChanged = true;
942+
document.querySelector('.editSave').disabled = false;
943+
})
935944
layer.off('click');
936945
layer.on('click', function(e) {
937946
isChanged = true;

examples/openlayers/drawAndEditFeatures.html

+11-8
Original file line numberDiff line numberDiff line change
@@ -1031,17 +1031,11 @@ <h5><span data-i18n="resources.text_featureToDelete"></span>:</h5>
10311031
modify = new ol.interaction.Modify({
10321032
features: select.getFeatures()
10331033
});
1034-
modify.on('modifyend', function() {
1035-
updateChanged = true;
1036-
document.querySelector('.editSave').disabled = false;
1037-
});
1034+
modify.on('modifyend', updatedFeature);
10381035
translate = new ol.interaction.Translate({
10391036
features: select.getFeatures()
10401037
});
1041-
translate.on('translateend', function() {
1042-
updateChanged = true;
1043-
document.querySelector('.editSave').disabled = false;
1044-
});
1038+
translate.on('translateend', updatedFeature);
10451039
snap = new ol.interaction.Snap({
10461040
source: source
10471041
});
@@ -1051,6 +1045,15 @@ <h5><span data-i18n="resources.text_featureToDelete"></span>:</h5>
10511045
map.addInteraction(snap);
10521046
}
10531047

1048+
function updatedFeature(e) {
1049+
var features = JSON.parse(new ol.format.GeoJSON().writeFeature(e.features.getArray()[0]));
1050+
currentFeature.data = features;
1051+
currentFeature.origin = e.features.getArray()[0];
1052+
document.querySelector('.add-feature-info>.space-info>.input-element').value = JSON.stringify({ geometry: currentFeature.data.geometry});
1053+
updateChanged = true;
1054+
document.querySelector('.editSave').disabled = false;
1055+
}
1056+
10541057
function startDraw(type) {
10551058
var drawTypeMap = {
10561059
REGION: 'Polygon',

0 commit comments

Comments
 (0)