gpt4 book ai didi

javascript - 在 jQuery 选项卡中加载 Google map

转载 作者:行者123 更新时间:2023-11-28 11:38:42 24 4
gpt4 key购买 nike

我在将 Google map 加载到 jQuery 选项卡时遇到问题。我尝试了互联网上的每一个解决方案,并使用了这里的建议: Google Maps V3 not loading with jQuery tabs

Problems with Google Maps API v3 + jQuery UI Tabs

http://www.digitalwks.com/blogs/diogo-raminhos/google-maps-v3-and-jquery-tabs-jquery-tabs-google-maps-bug/

Google Maps and jQuery Tabs

等等...

但是它们都不起作用,要么我太菜鸟而无法使用它们,我不知道如何添加它们,要么不起作用。

这是选项卡的显示方式:

<div class="tabprice">

<ul class="tabnavig">
<?php if ( $gmap_active ) { ?>
<li><a href="#block2"><span class="big"><?php _e('Map', 'anuncios') ?></span></a></li>
<?php } ?>
</ul>

<?php if ( $gmap_active ) { ?>

<!-- tab 2 -->
<div id="block2">

<div class="clr"></div>

<div class="singletab">

<?php include_once ( TEMPLATEPATH . '/includes/sidebar-gmap.php' ); ?>

</div><!-- /singletab -->

</div>

<?php } ?>

这是 sidebar-gmap.php 的内容

http://pastebin.com/H3i4J8EN

请大家帮帮我!

最佳答案

我是 one of the blogposts you refered 的作者.

对于遇到同样问题的其他人:这里的问题在于您需要在显示动画结束时触发调整大小事件。

您可以调用 google.maps.event.trigger(map, "resize"); 在您的显示动画结束回调中。

因此,在您的情况下(对于链接 you sended )您需要:

编辑以下文件:

/wp-content/themes/anuncios/includes/js/theme-scripts.js

并替换此:

/* Tab Control home main */
jQuery(function($) {
var tabContainers = $('div.tabcontrol > div');
tabContainers.hide().filter(':first').show();
$('div.tabcontrol ul.tabnavig a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).fadeIn(100);
$('div.tabcontrol ul.tabnavig a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});

这样:

/* Tab Control home main */
jQuery(function($) {
var tabContainers = $('div.tabcontrol > div');
tabContainers.hide().filter(':first').show();
$('div.tabcontrol ul.tabnavig a').click(function () {
tabContainers.hide();
tabContainers.filter(this.hash).fadeIn(100, function(){
if(map != undefined && map != null)
google.maps.event.trigger(map, "resize");
});
$('div.tabcontrol ul.tabnavig a').removeClass('selected');
$(this).addClass('selected');
return false;
}).filter(':first').click();
});
<小时/>

第 2 部分

找到以下代码:

$(tabs).click(function() {
// hide all tabs
$(tabContainers).hide().filter(this.hash).fadeIn(500);
$(tabs).removeClass('selected');
$(this).addClass('selected');
return false;
});

并将其替换为

$(tabs).click(function() {
// hide all tabs
$(tabContainers).hide().filter(this.hash).fadeIn(500, function(){
if(map != undefined && map != null)
google.maps.event.trigger(map, "resize");
});
$(tabs).removeClass('selected');
$(this).addClass('selected');
return false;
});

您的错误将得到修复,这次我在本地下载并测试了它,所以我 100% 确定它会起作用。

关于javascript - 在 jQuery 选项卡中加载 Google map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com