We're not the developers of the HotSpot integration you're using so we're limited in what help we can provide. Tabs fire a jQuery event on selection so it is possible to track when a tab is rendered. This is done with the below.
Code:
$( '.cbTabsMenu' ).on( 'cbtabs.selected', function( e, event, cbtabs, tab ) {
// code to execute when a profile tab is selected in the tab menu position
});
e = original event triggering cbtabs.selected
event = the pass through event triggering cbtabs.selected (use this if detecting click target)
cbtabs = the cbtabs jquery object
tab = tab object selected
tab contains a lot of sub-objects for various parts of a tab. They are as follows and allows acting on various parts of a tab.
tabNav = the navigation container
tabNavLink = the navigation link
tabPane = the tab container
tabIndex = the placement of the tab by index
The issue with the map not showing due to not being able to calculate the height can be avoided by adding a static height to the map container and if needed removed/changed later with JS for responsiveness. Aside from that there's nothing we can really do as we're not the developers of your integration.