private void drawMap(Graphics2D g2) {
        scale = view.getWidth() / (double) this.getWidth();
        if (scale < 1) {
            scale = 1;
        }
        for (Road r : roads) {
            double x1, x2, y1, y2;
            NodeData n1 = r.getFn();
            NodeData n2 = r.getTn();
            x1 = (n1.getX_COORD() - view.getMinX()) / scale;
            y1 = (n1.getY_COORD() - view.getMinY()) / scale;
            x2 = (n2.getX_COORD() - view.getMinX()) / scale;
            y2 = (n2.getY_COORD() - view.getMinY()) / scale;

            Line2D road = new Line2D.Double(x1, y1, x2, y2);

            //Road colering:
            switch (r.getEd().TYP) {
                case 1:
                    g2.setColor(Color.red); //Highway
                    break;
                case 3:
                    g2.setColor(Color.blue); //Main roads
                    break;
                case 8:
                    g2.setColor(Color.green); //Path
                    break;
                default:
                    g2.setColor(Color.gray); //Other
                    break;
            }
            g2.draw(road);
        }
    }