Google在可视化期间映射错误

问题描述 投票:1回答:1

我有一个小的指令,在我的Angular应用程序中处理谷歌地图:

app.directive('googleMaps', function($rootScope, $q, $window){
   var mapLoader = $q.defer();
   function loadGoogleApi(key){
       var script = document.createElement('script');
       script.type = 'text/javascript';
       script.src= "https://maps.googleapis.com/maps/api/js?key=" + key + "&callback=initMap";
       $('body').append(script);
       return mapLoader.promise;
   };
   $window.initMap = function(){
       mapLoader.resolve();
   };
   return {
       restrinct: 'E',
       link: function($scope, element, attrs){
           loadGoogleApi('AIzaSyBtuQ-wYoHqnAxpXh8hTAfEH8BQCiBSCWw').then(function(){
               $scope.map = new google.maps.Map(element[0], {
                   zoom: 4,
                   center: { lat: 20, lng: 40 }
               });
               google.maps.event.trigger($scope.map,'resize');
           });

       }
   };
});

然后在我的index.jade中,我有以下代码:

//Other stuff
div.col.s12.m12.map-container
    h6="I miei spot"
    google-maps

所有的初始化过程都成功了但是当我在网站上使用地图时,我可以看到各种奇怪的图形错误,如this

image of resulting tiles

我在这段代码中使用了materialize.css和这个简单的css:

google-maps { width: 100%; height: 300px;display: block; }
.map-container { height: 220px;margin-top: 10px; }

我不明白为什么会有这个bug,我没有在互联网上发现任何有关该bug的内容。

javascript css angularjs google-maps pug
1个回答
1
投票

我通过在我的css文件中删除这行代码解决了这个问题:

.map-container img { border-radius: 50%; }

这是一个简单的逻辑错误。

© www.soinside.com 2019 - 2024. All rights reserved.