local Destination = {} function Destination.get_directional_tag(way, is_forward, tag) local v if is_forward then v = way:get_value_by_key(tag .. ':forward') or way:get_value_by_key(tag) else v = way:get_value_by_key(tag .. ':backward') or way:get_value_by_key(tag) end if v then return v.gsub(v, ';', ', ') end end -- Assemble destination as: "A59: Düsseldorf, Köln" -- destination:ref ^ ^ destination function Destination.get_destination(way, is_forward) ref = Destination.get_directional_tag(way, is_forward, 'destination:ref') dest = Destination.get_directional_tag(way, is_forward, 'destination') street = Destination.get_directional_tag(way, is_forward, 'destination:street') if ref and dest then return ref .. ': ' .. dest else return ref or dest or street or '' end end return Destination