2016-04-26 42 views
1

我正在使用控制器在我的應用程序中顯示谷歌地圖。第一次加載頁面時,地圖渲染正常。但是當我第二次嘗試地圖時沒有加載。它顯示灰色區域。我嘗試了不同的解決方案,如觸發調整大小事件。但沒有運氣。谷歌地圖不是第二次渲染

這是我在控制器

   $scope.initializeMap = function() { 

        var mapOptions = { 
         zoom : 4, 
         center : new google.maps.LatLng($scope.latitude, 
           $scope.longitude), 

         mapTypeId : google.maps.MapTypeId.ROADMAP 
        } 

        var mapsss = document.getElementById('map'); 

        $scope.map = new google.maps.Map(mapsss, mapOptions); 

        $scope.markers = []; 

        var infoWindow = new google.maps.InfoWindow(); 

        var createMarker = function(info) { 

         var marker = new google.maps.Marker({ 
          map : $scope.map, 
          position : new google.maps.LatLng(
            info.latitude, info.longitude), 
          title : info.name, 
          icon : info.icon 
         }); 
         marker.content = ''; 

         google.maps.event.addListener(marker, 'click', 
           function() { 
            infoWindow.setContent('<h2>' 
              + marker.title + '</h2>'); 
            infoWindow.open($scope.map, marker); 
           }); 

         $scope.markers.push(marker); 

        } 

        for (i = 0; i < $scope.locations.length; i++) { 

         createMarker($scope.locations[i]); 
        } 

        $scope.openInfoWindow = function(e, selectedMarker) { 
         e.preventDefault(); 
         google.maps.event.trigger(selectedMarker, 'click'); 
        } 

        google.maps.event.trigger($scope.map, 'resize'); 
        var myLatlng = new google.maps.LatLng(34.310774, 
          66.225586); 
        $scope.map.setCenter(myLatlng); 

       } 

      }); 

initializeMap()我不知道是什麼問題。任何幫助將非常感激。

回答

1

最後我已經找到了解決方案本身:)它似乎是一個問題或行爲或任何與地圖api不正確渲染地圖的情況下,在div隱藏。所以我刪除了我在div中的ng-show,它起作用了!地圖正確渲染。