I don't know of a way this can be done similar to clicking the "+" symbol in a table to drill-down. I have always used a single-value (compact list) parameter that has values of, say Country, State, and ZIP, then a calculated field that changes the level of detail based on the parameter selection. For example:
WHEN 'Country' THEN [country]
WHEN 'State' THEN [state]
WHEN 'ZIP' THEN [zip]
If there is another way I would like to know!
Not sure if I understand the questions--is the need to drill down in a background map or just calculate the values that are nested in each level of geographic aggregation. I'm approaching this from a straight geo-perspective, so might be missing something. You may want to keep in mind that geography does not always roll up in a neat, hierarchical manner--some ZIPs cross municipal/state boundaries, and ZIPs themselves aren't as well-defined as we would like.
If you want to associate various levels of geographic aggregation with your local data (ie, a given lng/lat is associated with a block group, tract, ZIP, sales territory, congressional district, county, custom region, state, etc...), that is something we can help with, but I can't speak to if/how that can be accomplished directly in Tableau.