Я использую google maps
javascript api и хочу загрузить файл javascript только на странице, где фактически отображается карта.
Когда я загружаю карты внутри <script>
в index.html
, все в порядке.
<body>
<div ng-view></div>
<script>...</script>
</body>
Но когда я переношу скрипт в шаблон, который должен быть включен, он не работает:
maps.html:
<div id="google-map">
...
</div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js"></script>
контроллер:
var gmap = new google.maps.Map(document.getElementById('google-map'), {
center: location,
zoom: 10
});
Результат: Error: google.maps is undefined
.
Вопрос: как я могу убедиться, что скрипт загружен только на нужную страницу и что он загружен до того, как будет создан экземпляр в controller
?
нужно добавить скрипт перед div, надеюсь, что это может сработать
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js"></script>
<div id="google-map">
...
</div>