Fix incomplete rendering of unclosed multipolygon rings (close #2945)

This commit is contained in:
Quincy Morgan
2019-11-22 13:09:46 -05:00
parent b5a5dfc34a
commit 4b9b0860bf
+10 -6
View File
@@ -307,12 +307,16 @@ Object.assign(osmRelation.prototype, {
outers = osmJoinWays(outers, resolver);
inners = osmJoinWays(inners, resolver);
outers = outers.map(function(outer) {
return outer.nodes.map(function(node) { return node.loc; });
});
inners = inners.map(function(inner) {
return inner.nodes.map(function(node) { return node.loc; });
});
var wayToLineString = function(way) {
if (way.nodes[0] !== way.nodes[way.nodes.length - 1]) {
// treat all parts as closed even if they aren't
way.nodes.push(way.nodes[0]);
}
return way.nodes.map(function(node) { return node.loc; });
};
outers = outers.map(wayToLineString);
inners = inners.map(wayToLineString);
var result = outers.map(function(o) {
// Heuristic for detecting counterclockwise winding order. Assumes