2012-07-12 3 views
0

지도가있는 load 메소드를 사용하여 페이지를 표시하고 있습니다. 문제는 페이지가로드되어 있지만지도 div에 회색 컬러 화면이 표시됩니다. 지도를 새로 고침하면지도가로드됩니다. 문서 준비 기능에서도지도 기능을 호출합니다. 그러나 아무 사용.페이지 새로 고침없이지도를 표시하십시오.

내 코드는로드 된에서는 google.maps을 알고 후에는() 초기화 호출 할 필요가

<div class="public-view" id="map_canvass"> 
<script type="text/javascript"> 
// OnLoad function ... 
initialize(); 
function initialize() { 
    var fenway = new google.maps.LatLng(<?php echo $propertyValues->lat; ?>, <?php echo $propertyValues->lng; ?>); 
    var mapOptions = { 
     center: fenway, 
     zoom: 15, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvass"), mapOptions); 
    var circleOptions = { 
     center: fenway, 
     map: map, 
     strokeColor: "#BB0A68", 
     strokeOpacity: 0.1, 
     fillColor: "#BB0A68", 
     fillOpacity: 0.35, 
     radius: 200 
    } 
    var circle = new google.maps.Circle(circleOptions); 
    google.maps.event.trigger(map, 'resize'); 
} 
</script> 
</div> 

답변

1

입니다. 위 코드는 google.maps가로드되기 전에 initialize를 호출합니다. 캐시 된 이후 두 번째로 페이지를 새로 고칩니다. jQuery의 문서 준비 기능도 100 % 신뢰성이 없다.

google.maps.event.addDomListener(window, 'load', initialize); 
: Google지도 API 문서에서

This example

당신에게 그 일을하는 가장 좋은 방법을 보여줍니다