OP-
By "small" are you restricting yourself to a handheld device? If so, the Garmins recommended by the other posters are really nice, pretty much the reference standard, but spendy. They are also, by design of course, tightly focused in their application.
A gps based NAV app in a smartphone...