【问题标题】:Google Map not populating div correctly谷歌地图没有正确填充 div
【发布时间】:2023-03-06 00:44:01
【问题描述】:

我有一个谷歌地图,它应该获取用户的位置,以他们的位置为中心,然后提供到地图上固定点的方向。

问题在于地图没有填充整个div,也没有居中或缩放到正确的位置,而是加载了用户位置并提供了很好的方向。如果我在 jsFiddle 中重新创建它,虽然它可以正常工作,但是当包含在我的网站中时,就会出现所描述的问题。

jsFiddle:http://jsfiddle.net/wXnjt/1/

包含在我的网站中时的外观。

是什么导致了这个问题? (让我知道您是否希望将我的代码发布在此处,而不必费力)

编辑:开发控制台中也没有出现错误。我也尝试过使用preserveViewport: true,但没有效果。

【问题讨论】:

  • 尝试:google.maps.event.trigger(map, 'resize');
  • 我尝试将其添加到单击链接时加载页面的位置,但它只会使地图调整到大约 div 的 3/4 并且它仍然没有居中或缩放到正确的位置.是我把它放在了错误的地方还是应该起作用?
  • 这种情况只发生在 IE 上还是你在其他浏览器上也测试过?
  • Chrome、Firefox 和 IE 都会出现这种情况。
  • 在 FF 和 Chrome 最新版本中工作正常。

标签: javascript html css google-maps google-maps-api-3


【解决方案1】:

如果不确定,您的 Google 地图初始化应该在一个函数中。然后您只能在切换地图后对其进行初始化,这也将确保在用户不想看到它时不会加载它。

function init_maps(){

    // google maps api goes here

}

var init = false;

$('.contact_us').click(){

    if(!init){

        init_maps();
        init = true;
    }

    $('.contact_us').slideToggle();

}

【讨论】:

  • 我已将地图代码放在init_maps() 函数中,但我认为我没有正确调用它,请参见下文$("#Contact").on("click", function (event) { $("#divs").removeClass('activeTab'); $(this).addClass('activeTab'); $("#ContactContent").show(); $("#divs").hide(); if (!init) { init_maps(); init = true; } $('#mapContainer').slideToggle(); });
  • 对不起,忽略我在过去评论中的胡言乱语,我没有将变量复制过来。感谢您的帮助!
  • 没问题,欢迎您。当我使用 Google API 时,我也必须处理同样的问题 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 2016-10-17
相关资源
最近更新 更多