2014-02-11 131 views
0

我在我的数据库中存储经度和纬度,并提取我嵌入谷歌地图在我的网页,但是当页面加载地图只显示在div容器的左上角,即只显示第四部分div容器,另一部分是空白的。但是当我按F12检查代码(Firebug)时,它会完全显示。谷歌地图不完全加载

这是我的代码。

jQuery(document).ready(function() { 
    var mapOptions = { 
     center: new google.maps.LatLng(markers[0].lat, markers[0].lng), 
     zoom: 16, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var infoWindow = new google.maps.InfoWindow(); 
    var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions); 
    $(function() { 
     $('#dvMap').on('shown', function() { 
      google.maps.event.trigger(map, "resize"); 
     }); 
    }); 
    //google.maps.event.addDomListener(map, 'resize', function(){ 
    // alert('div resize'); 
    // google.maps.event.trigger(map,'resize'); 
    for (i = 0; i < markers.length; i++) { 
     var data = markers[i] 
     var myLatlng = new google.maps.LatLng(data.lat, data.lng); 
     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      map: map, 
      title: data.title 
     }); 
     (function (marker, data) { 
      google.maps.event.addListener(marker, "click", function (e) { 
       infoWindow.setContent(data.description); 
       infoWindow.open(map, marker); 
      }); 
     })(marker, data); 
    } 
}); 

任何人都可以解决这个问题吗?

+0

为什么你叫'$(函数(){''里面的jQuery(文件)。就绪(函数(){'删除它 两者都是一样的 –

+0

我删除了它,但问题仍然存在 – user3132068

+0

在这里复制问题http://jsfiddle.net/ –

回答

0

我以前有过这个问题。诀窍是调用Map函数前将div的宽度和高度:

<div id="dvMap" style="width:500px;height:500px;"></div> 
+0

我们做的和你说的一样,但它不起作用 – user3132068