There are
882 mi
from Iowa City, IA to Martinsville, VA
That's the driving distance. It would take 17 hours to go from Iowa City, Iowa to Martinsville, Virginia.
The flight distance (direct flight from Iowa City, IA to Martinsville, VA) is 711.70 mi.
882 mi = 1,418.97 kms