Tôi có một trang với hai tab. Tab đầu tiên có ảnh và thứ hai là bản đồ google. Vấn đề là bản đồ google không hoàn toàn vẽ vì nó nằm trong div ẩn. Vì vậy, tôi đã chuyển hàm initialize() vào href của thẻ bản đồ bằng cách sử dụng onclick(). Điều này hoạt động lần đầu tiên bạn nhấp vào nó nhưng khi bạn quay lại tab ảnh và sau đó quay trở lại tab bản đồ, bản đồ chỉ vẽ một phần. Nếu bạn nhấp vào tab bản đồ lần thứ hai thì nó hoạt động hoàn hảo. Bất kỳ ý tưởng?Bản đồ Google trong div ẩn
tab javascript:
<script type="text/javascript">
$(function() {
var tabContainers = $('div.tabs > div');
$('div.tabs ul.tabNavigation a').click(function() {
tabContainers.hide().filter(this.hash).show();
$('div.tabs ul.tabNavigation a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
</script>
google maps javascript:
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(<?=$lat ?>, <?=$lng ?>);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"<?=$fulladdress ?>"
});
}
</script>
html:
<div class="tabs">
<ul class="tabNavigation">
<li><a href="#first">Photos</a></li>
<li><a href="#map_canvas" onclick="initialize(); return false;">Map</a></li>
</ul>
<div id="first"> </div>
<div id="map_canvas" ></div>
Cảm ơn nhưng điều đó không khắc phục được sự cố. Bản đồ tải tốt vào lần đầu tiên tôi nhấn tab bản đồ nhưng nếu tôi nhấn tab ảnh rồi quay lại tab bản đồ thì nó chỉ tải một phần. – Rob
@Rob Hmm thật thú vị, bản đồ có được gọi là "bản đồ" và khi bạn thay đổi kích thước, bạn có bản đồ trong phạm vi không? –
bạn có thể thấy nó hoạt động ở đây: [link] (http://www.518forsalebyowner.com/tabs.php?id=92062) – Rob