There are
555 mi
from Troy, MI to Maryland Heights, MO
That's the driving distance. It would take 10 hours 38 mins to go from Troy, Michigan to Maryland Heights, Missouri.
The flight distance (direct flight from Troy, MI to Maryland Heights, MO) is 466.54 mi.
555 mi = 893.04 kms