the most that any free application can give u is data that's either sent by GPS devices. this is basically just your position, speed, altitude, maybe bearing. anything else requires a big database of maps and those don't come cheap. GPSdrive supports it but u have to download the maps from expedia and align the maps yourself. voice navigation isn't that hard to code but without actual street names and all that data, it'd be hard
for windows, if you don't mind using an older version, street atlas 4.0 is avail on ebay for like 20 or 30 bucks. that's like a couple of years old but most streets should still be same. i'm gonna be ditching my street atlas for topo usa 4.0 3d rendered gps navigtaion haahha i'm gonna kill myself :P