The calculated distance (air line) between Haapsalu and Elva is approximately 115 miles respectively 185 kilometers.
By car or train, the actual journey to Elva is certainly longer, as only the direct route (as the crow flies) between Haapsalu and Elva has been calculated here.