Hi und erst mal willkommen bei OSM Deathwing :slight_smile:

Also die ganzen API Geschichten und vorgefertigte Komponenten findest du hier:
http://wiki.openstreetmap.org/wiki/Develop
http://wiki.openstreetmap.org/wiki/Develop/Frameworks
Allerdings sind die alle ebend für spezielle Anwendungsfälle gemacht (mal offline, mal online, mal selber zeichnen und mal nur Kartenkacheln anzeigen). Deshalb ist das einzige Tutorial was ich kenne: http://blog.mikeasoft.com/2010/09/24/local-map-rendering-and-route-finding-with-libchamplain-spatialite-and-open-street-map/

Das Problem was du beschreibst nennt sich Reverse-Geocoding also Pos->Straße.
Wenn du online bist, kannst du dafür einfach Server fragen, die das für dich erledigen, zum Beispiel:
http://wiki.openstreetmap.org/wiki/Nominatim

Wenn du das selber machen möchtest, musst du vom Prinzip her eine Datenbank mit allen Straßen aufsetzen. Diese würde man (spatial Ansatz) mit Indices für die Koordinaten versehen, so dass man Suchen nach einer kleinen Bounding Box (z.B. 10m um deine Fahrzeug Position) schneller machen kann. Und die spuckt dir dann aus auf welchem geometrischen Objekt du dich befindest.

Das Buch kann ich dir aber ebendfalls nur empfehlen, da ist das alles gut zusammengefasst und als Anleitung. Bei uns im Wiki sucht man da teilweise recht lange. Außerdem werden auch die typischen Fallstricke genannt.