Ignore:
Timestamp:
2006-03-22T19:13:05+01:00 (20 years ago)
Author:
imi
Message:

fixed "segment completly out of map" - problem

File:
1 edited

Legend:

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

    r64 r66  
    33
    44import java.util.HashSet;
    5 import java.util.Map;
    65import java.util.Set;
    76
     
    3635         */
    3736        public void visit(LineSegment ls) {
    38                 String name = getName(ls.keys);
     37                name = ls.get("name");
     38                if (name == null && ls.incomplete)
     39                        name = ""+ls.id;
    3940                if (name == null)
    40                         name = "("+ls.start.coor.lat+","+ls.start.coor.lon+") -> ("+ls.end.coor.lat+","+ls.end.coor.lon+")";
    41                        
    42                 this.name = name;
     41                        name = "("+ls.from.coor.lat+","+ls.from.coor.lon+") -> ("+ls.to.coor.lat+","+ls.to.coor.lon+")";
    4342                icon = ImageProvider.get("data", "linesegment");
    4443        }
     
    4948         */
    5049        public void visit(Node n) {
    51                 String name = getName(n.keys);
     50                name = n.get("name");
    5251                if (name == null)
    5352                        name = "("+n.coor.lat+","+n.coor.lon+")";
    54                
    55                 this.name = name;
    5653                icon = ImageProvider.get("data", "node");
    5754        }
     
    6158         * is displayed with x beeing the number of nodes in the way.
    6259         */
    63         public void visit(Way t) {
    64                 String name = getName(t.keys);
     60        public void visit(Way w) {
     61                name = w.get("name");
    6562                if (name == null) {
    6663                        Set<Node> nodes = new HashSet<Node>();
    67                         for (LineSegment ls : t.segments) {
    68                                 nodes.add(ls.start);
    69                                 nodes.add(ls.end);
     64                        for (LineSegment ls : w.segments) {
     65                                if (!ls.incomplete) {
     66                                        nodes.add(ls.from);
     67                                        nodes.add(ls.to);
     68                                }
    7069                        }
    7170                        name = "("+nodes.size()+" nodes)";
    7271                }
    73                
    74                 this.name = name;
    7572                icon = ImageProvider.get("data", "way");
    7673        }
    77 
    78        
    79         /**
    80          * Try to read a name from the given properties.
    81          * @param keys The properties to search for a name. Can be <code>null</code>.
    82          * @return If a name could be found, return it here.
    83          */
    84         public String getName(Map<String, String> keys) {
    85                 String name = null;
    86                 if (keys != null) {
    87                         name = keys.get("name");
    88                         if (name == null)
    89                                 name = keys.get("id");
    90                 }
    91                 return name;
    92         }
    93        
    9474}
Note: See TracChangeset for help on using the changeset viewer.