Jus*_*tin 6 google-maps google-maps-api-3
我正在使用Google Maps api v3创建一个可以调整大小的地图(使用jQuery切换扩展和缩小div).通过研究我发现我应该调用google.maps.event.trigger(map,'resize'); 调整地图大小时.我已经这样做了,但我仍然有瓷砖刷新的问题.
我使用的代码是:
<script>
document.write('<a id="expandMap" href="#" target="_blank" title="Expand the map">+ expand map</a>');
/* Expand map_canvas DIV */
jQuery('#expandMap').toggle(function(){
jQuery('a#expandMap').text('- contract map');
jQuery('a#expandMap').attr('title', 'Contract the map');
jQuery('#map_canvas').animate({'height': '600px'}, 750, 'swing');
google.maps.event.trigger(map, 'resize');
}, function(){
jQuery('a#expandMap').text('+ expand map');
jQuery('a#expandMap').attr('title', 'Expand the map');
jQuery('#map_canvas').animate({'height': '193px'}, 750, 'swing');
google.maps.event.trigger(map, 'resize');
});
/* Expand map_canvas DIV End */
</script>
Run Code Online (Sandbox Code Playgroud)
谁能提出任何想法?展开后,如果单击合约按钮,则会有一个闪存,其中所有切片都可以正常显示,因此看起来在收缩时会触发resize事件.在合同状态下,地图运作完美; 围绕所有瓷砖平移刷新它们应该.
非常感谢任何帮助!
干杯!
animate() 需要一些时间.
你必须至少在动画完成时触发地图的resize-event(另外你可以在每一步触发它),而不是在它开始时
| 归档时间: |
|
| 查看次数: |
4791 次 |
| 最近记录: |