Карты Google не работают на Angular JS после изменения вида

0

Я делаю мобильное приложение с помощью cordova с Angular JS и API Карт Google. На моем домашнем экране у меня есть 3 вкладки. Третья вкладка - это интеграция с Google Maps. В первый раз, когда я вхожу на третью вкладку, карта загружается нормально, и все работает отлично. Но, когда я перехожу к другому представлению, имеющему другой контроллер, и возвращаюсь к виду и контроллеру Карт Google, он не загружается.

Вот код, который я запускаю каждый раз, когда я перехожу на вкладку 3 (Где находятся Карты Google).

$rootScope.mapOptions = {
    center: new google.maps.LatLng(-18.894608, -48.260980),
    zoom: 14,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};


$rootScope.map = new google.maps.Map(document.getElementById("map-canvas"), $rootScope.mapOptions);

Вот HTML-код представления

<div id="map-canvas" style="height: 90%; width: 100%"></div>

Я застрял в этой проблеме, и любая помощь будет очень ценить. Obs: Если вам нужна дополнительная информация о коде, просто спросите. Благодарю!

Теги:
google-maps
cordova

2 ответа

0

Проблема была решена с добавлением функции тайм-аута перед вызовом API Карт Google.

window.setTimeout(function() {
      //google maps code
},100);
0

Оберните свой div-canvas в каком-нибудь состоянии ng-if, он будет работать определенно.

<div ng-if="showMap" id="map-canvas" style="height: 90%; width: 100%"></div>
  • 0
    это не работает :(
  • 0
    Вы изменяете $ scope.showMap = true в своем контроллере?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню