How necessary is it to keep that URL structure? I ask because I think it would be more confusing to site visitors as you have in your example, which uses singular rather than plural.
Putting myself in the mindset of a visitor to your site, I imagine that what I'm there to find is either a car or a bike, so it makes sense that that would be your CPT, not the location, which is an attribute of the car or bike. Even if I were to begin my search by looking in London, I'm still seeking a car or bike.
Yet your URL, domain.com/car/london assumes only 1 car - whereas I imagine I'd like to see a list of them first, before selecting one. So it makes more sense to start at domain.com/cars/ then click a link for my preferred location "London" and see what is available at domain.com/cars/london.
This means creating a CPT for Cars (singular = car) and Bikes (singular = bike) with a custom taxonomy of Location that applies to both (when setting up the taxonomy use 'taxonomies' => array( 'bike','car' ),).
You can then have your Page(s) ("Cars" and "Bikes" which give you the URLs of domains.com/cars/ and domains.com/bikes) and either display a list of all or have visitors begin by selecting a location from your list of location taxonomies). If your locations are close so that visitors might select from several, consider using a filtering plugin like Search&Filter or one of many others. That way folks can select multiple locations and still see results on one page.
If keeping your URLs the way you have them now is critical, post back and I or others can probably find some creative workaround for you, although IMHO I think it's best to work within what WordPress expects according to it's Template Hierarchy system....