I cannot lead you to any ready sollutions and I wouldn't if I could.
You have to code it yourself.
The idea that I use for 2d tile maps is based on array, where the real numbers present type of the tile.
arrayw looks like this
{2,3,2,2,2,2,
2,3,3,3,3,2,
2,2,2,2,3,2}
where 2 is basic grass and 3 is road.
Obviously, this map is bigger than the screen so that this would work. You take the map and calculate how many tiles the screen can show and then decide where you read the array.
Now you draw all the tiles.
If you give me your e-mail I can send you a class which explains the drawing part in nutshell, its directly from Black art of Java Game programming(don't buy it, its not that good). Thats not hard, the hard part is to find a method to move the screen.