2014-02-11 130 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