Before doing anything use Mandoble's snippet in various locations to get the name string for various road objects, to see if they have any part of their name in common that is unique to roads. If there is then:
(nearestObjects [player,[], 50]) - ((getPos player) nearObjects 50)
Returns an array of objects within 50m of the player that have no class, including things like roads and trees.
Then use Kronzky's string functions to scan the string name of each object for the common name part.
The only problem with this is the Kronzky's string functions cause very bad resource sucking lag, and searching 50 strings for a substring would be crazy. You would have to manually insert some pauses in his functions.