Changeset 2087 in josm for trunk/src/org


Ignore:
Timestamp:
2009-09-09T18:01:53+02:00 (15 years ago)
Author:
stoecker
Message:

fixed #3306 - wrong handling of restriction via ways

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MapPaintVisitor.java

    r2025 r2087  
    3131import org.openstreetmap.josm.data.osm.Node;
    3232import org.openstreetmap.josm.data.osm.OsmPrimitive;
     33import org.openstreetmap.josm.data.osm.OsmUtils;
    3334import org.openstreetmap.josm.data.osm.Relation;
    3435import org.openstreetmap.josm.data.osm.RelationMember;
     
    666667            Node firstNode = viaWay.firstNode();
    667668            Node lastNode = viaWay.lastNode();
     669            Boolean onewayvia = false;
     670
     671            String onewayviastr = viaWay.get("oneway");
     672            if(onewayviastr != null)
     673            {
     674                if("-1".equals(onewayviastr)) {
     675                    onewayvia = true;
     676                    Node t = firstNode;
     677                    firstNode = lastNode;
     678                    lastNode = firstNode;
     679                }
     680                else
     681                    onewayvia = OsmUtils.getOsmBoolean(onewayviastr);
     682            }
     683
    668684            if(fromWay.isFirstLastNode(firstNode)) {
    669685                viaNode = firstNode;
    670             } else if(fromWay.isFirstLastNode(lastNode)) {
    671                 viaNode = firstNode;
     686            } else if (!onewayvia && fromWay.isFirstLastNode(lastNode)) {
     687                viaNode = lastNode;
    672688            } else {
    673689                r.putError(tr("The \"from\" way doesn't start or end at the \"via\" way."), true);
Note: See TracChangeset for help on using the changeset viewer.