2016-08-31 2 views
0

У меня проблема в моем приложении Ionic. Я использую карты Google для отображения карты на моей странице. В первый раз он отображается правильно. Однако, когда я перехожу к другому виду, и я возвращаюсь на свою страницу, содержащую карту, карта не появляется.Ионные карты google после обновления

Вот мой код

контроллер:

.controller('MapController', function($scope, $ionicLoading,$state) { 


google.maps.event.addDomListener(window, 'load', function() { 
    var myLatlng = new google.maps.LatLng(37.3000, -120.4833); 

    var mapOptions = { 
     center: myLatlng, 
     zoom: 16, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById("map"), mapOptions); 

    navigator.geolocation.getCurrentPosition(function(pos) { 
     map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude)); 
     var myLocation = new google.maps.Marker({ 
      position: new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude), 
      map: map, 
      title: "My Location" 
     }); 
    }); 

    $scope.map = map; 
}); 

}) 

ответ

1

Это может быть связано с тем, как Ионные управляет загрузкой взглядов. В зависимости от того, как приложение структурировано (вкладка, мастер-детали и т. Д.), Ваше приложение может показывать карту, когда сначала просматривается представление MapController, но отображается только после того, как вы вернетесь к этому представлению (а не «погрузка» за се). Другими словами, событие «load» никогда не запускается снова после отображения этого представления в первый раз, и сама карта удаляется при перемещении.

Поскольку Ionic основан на AngularJS, я рекомендую вам ознакомиться с Угловой Директивой Google Maps, найденной here. Возможно, вам будет немного легче работать!

Смежные вопросы