Also die Position musst du wohl von deinem GPS Gerät beziehen. Wie das funktioniert ist abhängig von der eingesetzten Hardware.

Dafür wirst du eine Datenbank benötigen. In dieser sind die OSM Daten. Nach Möglichkeit gefiltert und dann fragst du einfach welche Straße ist jetzt am dichtesten an meiner aktuellen Position.
Allerdings ist das die einfachste Möglichkeit. Später kann man hier auch noch Korrekturen vornehmen. Wie ist es überhauüt möglich von A nach B zu gelangen. Und noch später könnte man auch die Wahrscheinlichkeit berechnen in Abhängigkeit des Ziels und der vorgeschlagenen Route.

Das wird dir wahrscheinlich mit OSM Daten nicht gelingen. Erstens ist das GPS Signal noch zu ungenau und zweitens sind viele Straßen als eine Linie erfasst und nicht die Lage der einzelnen Spuren.