The calculated distance (air line) between Spanish Town and Hayes is approximately 20 miles respectively 32 kilometers.
By car or train, the actual journey to Hayes is certainly longer, as only the direct route (as the crow flies) between Spanish Town and Hayes has been calculated here.
Air line (approximately)
32 kilometers
17 nautical miles