Я думаю, что вы ищете обсуждается в этом выпуске: https://github.com/angular-ui/ui-router/issues/63
Они в основном обсуждали плавающие фреймы, но я считаю, что то же самое должно выполняться для Google Maps. К сожалению, в потоке они решили, что это не то, что должно быть реализовано в основной версии. Я не пробовал директиву, которую они предоставляют (если я получу шанс, я дам вам знать, как это происходит), но вы можете получить что-то с этим.
Я действительно столкнулся с конкретной проблемой, с которой вы столкнулись. Мое решение было использовать стилизованные кнопки в моих вкладках и нг-шоу на вкладку карты:
<div id="info-btns">
<button class="btn" ng-model="view" btn-radio="'info'">
Info
</button>
<button class="btn" ng-model="view" btn-radio="'map'" ng-click="loadMap()">
Map
</button>
</div>
<div class="content" ng-show="view != map">
<div ui-view="info"></div>
</div>
<div id="map-container" ng-show="view == 'map'">
<div id="map" class="content" sitemap>
</div>
</div>
нг-шоу просто не использует дисплей: Нет, чтобы скрыть карту и, следовательно, не вызывает обновления. Вам нужно будет запустить карту для загрузки в первый раз, когда она не будет скрыта, иначе она будет отображаться некорректно, поэтому loadMap()
Если у меня будет шанс, я нахожу это на практике.