mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-18 14:45:12 +02:00
Stack areas as well as ways. Fixes #409
This commit is contained in:
@@ -1,4 +1,31 @@
|
||||
iD.svg.Areas = function() {
|
||||
|
||||
var area_stack = {
|
||||
building: 0,
|
||||
manmade: 1,
|
||||
natural: 1,
|
||||
boundary: 2
|
||||
};
|
||||
|
||||
function findKey(a) {
|
||||
var vals = Object.keys(a.tags).filter(function(k) {
|
||||
return area_stack[k] !== undefined;
|
||||
});
|
||||
if (vals.length > 0) return area_stack[vals[0]];
|
||||
else return -1;
|
||||
}
|
||||
|
||||
function areastack(a, b) {
|
||||
if (!a || !b || !a.tags || !b.tags) return 0;
|
||||
if (a.tags.layer !== undefined && b.tags.layer !== undefined) {
|
||||
return a.tags.layer - b.tags.layer;
|
||||
}
|
||||
var as = 0, bs = 0;
|
||||
as -= findKey(a);
|
||||
bs -= findKey(b);
|
||||
return as - bs;
|
||||
}
|
||||
|
||||
return function drawAreas(surface, graph, entities, filter, projection) {
|
||||
var areas = [];
|
||||
|
||||
@@ -9,6 +36,8 @@ iD.svg.Areas = function() {
|
||||
}
|
||||
}
|
||||
|
||||
areas.sort(areastack);
|
||||
|
||||
var lineStrings = {};
|
||||
|
||||
function lineString(entity) {
|
||||
|
||||
Reference in New Issue
Block a user