0

I'm creating indoor location application using arduino and android studio. Arduino send the indoor location coordinate to android phone using Bluetooth. enter image description here

Create map using following java class

public class MazeCreator {

public static Maze getMaze(int mazeNo) {
    Maze maze = null;

        maze = new Maze();
    if(GameView.floorval== false) {
        boolean[][] vLines = new boolean[][]{
                {false, false, false, true, false, true, false, false, false},
                {false, false, false, true, false, false, false, false, false},
                {false, false, false, false, false, true, false, false, false},
                {false, false, false, true, false, false, false, false, false},
                {false, false, false, false, false, true, false, false, false},
                {false, false, false, true, false, true, false, false, false},
                {false, false, false, true, false, false, false, false, false},
                {false, false, false, false, false, true, false, false, false},
                {false, false, false, true, false, true, false, false, false},
                {false, false, false, true, false, true, false, false, false}


        };
        boolean[][] hLines = new boolean[][]{
                {false, false, false, false, false, false, false, false, false, false},
                {false, true, true, true, false, false, false, false, false, false},
                {true, false, true, true, false, false, true, true, true, true},
                {true, true, true, true, false, false, true, true, false, true},
                {false, false, false, false, false, false, false, false, false, false},
                {false, false, false, false, false, false, true, true, true, true},
                {true, true, true, true, false, false, true, true, true, true},
                {false, false, false, false, false, false, false, false, false, false},
                {false, false, false, false, false, false, false, false, false, false}
        };
        maze.setVerticalLines(vLines);
        maze.setHorizontalLines(hLines);
        Log.d("Maze 1=" ,Integer.toString(mazeNo) );

        if (mazeNo == 1) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(2, 7);
        }

        if (mazeNo == 2) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(2, 4);
        }
        if (mazeNo == 3) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(1, 3);
        }
        if (mazeNo == 4) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(0, 0);
        }
        if (mazeNo == 5) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(7, 1);
        }
        if (mazeNo == 6) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(8, 4);
        }
        if (mazeNo == 7) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(8, 7);
        }
    }

    else {

        boolean[][] vLines = new boolean[][]{
                {false, false, false, true, false, true, false, false, false},
                {false, false, false, true, false, false, false, false, false},
                {false, false, false, false, false, true, false, false, false},
                {false, false, false, true, false, true, false, false, false},
                {false, false, false, false, false, true, false, false, false},
                {false, false, false, true, false, false, false, false, false},
                {false, false, false, false, false, false, false, false, false},
                {false, true, true, false, false, true, true, false, false},
                {false, true, true, false, false, true, true, false, false},
                {false, false, true, false, false, true, true, false, false}


        };
        boolean[][] hLines = new boolean[][]{
                {false, false, false, false, false, false, false, false, false, false},
                {false, true, true, true, false, false, false, false, false, false},
                {true, false, true, true, false, false, true, true, true, true},
                {true, true, true, true, false, false, false, false, false, false},
                {false, false, false, false, false, false, true, true, false, true},
                {true, true, true, true, false, false, false, false, false, false},
                {true, true, false, true, false, true, false, true, false, true},
                {false, false, false, false, false, false, false, false, false, false},
                {false, false, false, false, false, false, false, false, false, false}
        };
        maze.setVerticalLines(vLines);
        maze.setHorizontalLines(hLines);

        if (mazeNo == 8) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(0, 0);

        }
        if (mazeNo == 9) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(1, 4);

        }
        if (mazeNo == 10) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(8, 8);
        }
        if (mazeNo == 11) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(4, 8);
        }
        if (mazeNo == 12) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(0, 8);
        }
        if (mazeNo == 13) {
            maze.setStartPosition(0, 0);
            maze.setFinalPosition(8, 3);
        }
    }
    return maze;
}
}

current location indicated by man and final location indicate from the blue color circle. now I want to draw path to current location to the final location. Please help me

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115

1 Answers1

0

What about:

How to draw a line in android

to draw your line. Activate it with onLocationChanged (I mean location listener), draw from last location to the new one (safe the old one in a variable) and overwrite it when you get a new position.

MrOrhan
  • 877
  • 6
  • 21