Your 2nd foreach loop is a bug. $slug
is a string with a single value, and you cannot pass a string to a foreach loop. If you set debug to true, you will see an error message telling you just this.
You can simply just do
//Different markers for different types
$car_type = get_the_terms( $post->ID, 'car-type' );
//Apparently it don't get the slug if it's not in foreach loop
foreach ( $car_type as $type ) {
$slug = $type->slug;
$marker_image="https://www.my-site.com/media/markers/marker_" . $slug . '.png';
}