The calculated distance (air line) between Johannesburg and Gaborone is approximately 171 miles respectively 275 kilometers.
By car or train, the actual journey to Gaborone is certainly longer, as only the direct route (as the crow flies) between Johannesburg and Gaborone has been calculated here.
Air line (approximately)
275 kilometers
148 nautical miles