From f5951e8797f0b55dd6f3ad5dbda16ce4d554d4f1 Mon Sep 17 00:00:00 2001 From: Nikita Mashukov Date: Mon, 30 Oct 2017 20:30:14 +0700 Subject: [PATCH] merge tags when merge way nodes --- modules/actions/merge_way_nodes.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/actions/merge_way_nodes.js b/modules/actions/merge_way_nodes.js index 1062af7a8..b57707866 100644 --- a/modules/actions/merge_way_nodes.js +++ b/modules/actions/merge_way_nodes.js @@ -1,4 +1,5 @@ import _sum from 'lodash-es/sum'; +import _extend from 'lodash-es/extend'; import { osmNode } from '../osm/node'; @@ -15,6 +16,10 @@ export function actionMergeWayNodes (ids) { ]; } + function collectTags(entities) { + return entities.reduce(function(tags, entity) { return _extend(tags, entity.tags); }, {}); + } + function replaceWithinWays (newNode) { return function (graph, node) { return graph.parentWays(node).reduce(function (graph, way) { @@ -29,7 +34,7 @@ export function actionMergeWayNodes (ids) { var action = function (graph) { var nodes = getSelectedEntities(graph), - newNode = new osmNode({ loc: calcAverageLoc(nodes) }); + newNode = new osmNode({ loc: calcAverageLoc(nodes), tags: collectTags(nodes) }); graph = graph.replace(newNode);