Ignore:
Timestamp:
09.09.2009 18:01:53 (3 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.