The Map chart appears to first make sure that your App has loaded columns that are tagged with either $geomultipolygon or $geopoint system tag. If you don't, you won't be able to pick a dimension. And if you drop a dimension onto the chart, you'll get the "The Action you are attempting cannot be applied to this visualization" message.
If you've satisfied that condition, then after you've chosen your dimension, if there are multiple columns tagged with those tags, you'll then get that sub-menu to which you refer.
So your extension would have to follow the same procedure as the built-in Map chart; detect columns tagged appropriately. If the system tags aren't appropriate for your extension, you can invent your own.