This is standard WordPress taxonomy behavior.
[Just making sure we are all talking about the map legend on the Home/Location map, see image. That is the only place where you can tick parent and sub categories for maps.]
So in the example
category = restaurants
subcategory 1 = french
subcategory 2 = italian
An italian restaurant will be automatically in restaurants and italian restaurants.
So if you ask to show all restaurants on the map [that is what you do when you tick parent category restaurants], why would you expect not to see all restaurants?
If you only want italian restaurants then you have to exclude other restaurants by unticking french restaurants AND “all” restaurants.
I don’t know why you would think that leaving all restaurants ticked, that somehow would exclude some of them…
So on the map,
There will be always 3 types of restaurants showing, even my user already decided what they want?
If your visitor only wants to see chinese restaurants, they should only tick chinese restaurants, not all restaurants. If they do that only 1 subcategory will show.
I hope that is clearer now? Thanks.