2013-05-13 3 views
1
<a class="showmap" href="#">Show map</a> 
<div id="map" style="height: 400px; width: 400px;"> </div> 
<script type="text/javascript"> 
$(function() { 
//initialise map 
}); 

$(document).ready(function(){ 
    $('.showmap').click(function(){ 
    $("#map").slideToggle(); 
    google.maps.event.trigger(map, 'resize'); 
    }); 
}); 
</script> 

Как я уверен, вы можете сказать уже. Я пытаюсь включить и выключить карту google. Проблема карты после нажатия на кнопку showMap отображается, как это на на этом сайте:GoMap - изменить размер после отображения скрыть div

http://forum.jquery.com/viewImage.do?fileId=14737000003424984&forumGroupId=14737000000003003

Может кто-то отметить wwhat я делаю неправильно? Я хочу, чтобы карта отображалась на весь div. Если вы посмотрите на нижнюю часть этого изображения, вы заметите, что карта copywrite и бренд stff находятся в нужном месте, но карта не является. Это событие не будет перемещаться в нижней части div. Он просто подпрыгивает до места на картинке.

ответ

1

Похоже, вы слишком часто вызываете свой размер. попробуйте сделать это вместо этого:

$("#map").slideToggle('slow', function() { 
    google.maps.event.trigger(map, 'resize'); 
}); 

Это вызовет функцию изменения размера после завершения переключения слайдов.

Если выше не работает, обходной путь будет приложить карту DIV внутри другого DIV с переливом скрытом, а затем сдвиньте переключатель родительского DIV вместо отображения DIV

+0

Вы Пита является богом среди человека, пятно сверху. Спасибо. –