当前位置: 首页 > 面试题库 >

数据切换选项卡不下载传单地图

卫琛
2023-03-14
问题内容

我正在使用标签来显示清晰的内容,但是其中一个标签由于位于数据切换标签中而无法很好地下载。这是一张传单地图。这是代码:

导航栏代码:

<ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#home">Données principales</a></li>
    <li><a data-toggle="tab" href="#carte">Carte</a></li>
</ul>
<div class="tab-content">
    <div id="home" class="tab-pane fade in active">Lorem ipsum</div>
    <div id="carte" class="tab-pane fade"> **//see script below\\** </div>
</div>

剧本:

<div id="carteBenef"></div>
      <script type="text/javascript">
          $(document).ready(function () {
              var map = new L.Map('carteBenef');
              var cloudmadeUrl = 'http://{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
                     subDomains = ['otile1', 'otile2', 'otile3', 'otile4'],
                     cloudmadeAttrib = 'Data, imagery and map information provided by <a href="http://open.mapquest.co.uk" target="_blank">MapQuest</a>, <a href="http://www.openstreetmap.org/" target="_blank">OpenStreetMap</a> and contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/" target="_blank">CC-BY-SA</a>';
              var cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttrib, subdomains: subDomains});
              var iades = new L.LatLng(<?php echo $beneficiaire->latitude . ', ' . $beneficiaire->longitude; ?>)
              map.addLayer(cloudmade).setView(iades, 15);
              var benefLocation = new L.LatLng(<?php echo $beneficiaire->latitude . ', ' . $beneficiaire->longitude; ?>);
              var benef = new L.Marker(benefLocation);
              map.addLayer(benef);
              benef.bindPopup("<?php echo htmlspecialchars($beneficiaire->nom) . ' ' . htmlspecialchars($beneficiaire->prenom); ?>").openPopup();
          });
      </script>

在我将其放入选项卡之前,该地图显示得很好,有人知道为什么它现在不起作用吗?谢谢=)


问题答案:

欢迎来到SO!

如果您 在调整浏览器窗口大小后, Leaflet地图 突然正常工作
,那么您会遇到经典的“在地图初始化时无效的地图容器大小”:为了正常工作,Leaflet在初始化地图(L.map("mapContainerId"))时会读取地图容器大小。

如果您的应用程序隐藏了该容器(通常是通过CSS display: none;或某些框架选项卡/模式/等等),或者稍后更改了其尺寸,则Leaflet将不会意识到新的尺寸。因此,它将无法正确渲染。通常,它仅下载它认为显示的容器部分的图块。如果容器在地图初始化时被完全隐藏,则它可以是左上角的单个图块。

当将地图容器嵌入“选项卡”或“模式”面板中时,经常会出现这种错误,可能使用流行的框架(Bootstrap,Angular,Ionic等)。

Leaflet侦听浏览器窗口调整大小事件,并在发生这种情况时再次读取容器大小。这解释了为什么地图突然在调整窗口大小时起作用。

您也可以map.invalidateSize()至少在首次使用正确尺寸渲染容器时,通过在显示选项卡面板时调用(例如,在选项卡按钮单击上添加侦听器)来手动触发此更新。

至于实现选项卡按钮单击侦听器,请对该主题进行新的搜索:对于大多数流行的框架,您应该有足够的资源来解决此问题。



 类似资料:
  • 本文向大家介绍vue实现选项卡及选项卡切换效果,包括了vue实现选项卡及选项卡切换效果的使用技巧和注意事项,需要的朋友参考一下 这里不跟大家再去把Vue文档上的一些指令用法或者基础知识再复述一遍,既然是从入门到实战,我直接将平时项目中需要实现的一些效果拆分成模块。你们遇到了相关的指令或者不知道怎么用的方法自己对着文档去查,再回过头来看我的实现代码。记住,通读Vue文档真的很重要,很重要! 这里的V

  • 本文向大家介绍Android ViewPager实现选项卡切换,包括了Android ViewPager实现选项卡切换的使用技巧和注意事项,需要的朋友参考一下 本文实例介绍了ViewPager实现选项卡切换,效果图如下: 步骤一:这里使用兼容低版本的v4包进行布局,这里eclipse没有输入提示,所以要手动输入,文件名称“activity_main.xml” 步骤二:选项卡中的内容都是从布局文件中

  • 本文向大家介绍jQuery简单实现tab选项卡切换效果,包括了jQuery简单实现tab选项卡切换效果的使用技巧和注意事项,需要的朋友参考一下 抽空把公司项目上用的tab效果封装了一下,实在是需要用的地方太多了~~~ 效果图: 代码: 以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍使用javascript实现简单的选项卡切换,包括了使用javascript实现简单的选项卡切换的使用技巧和注意事项,需要的朋友参考一下 代码相当简洁、简单易懂,就不多废话了。 直接奉上代码: ------demo.js--------------- 是不是很简单就实现了选项卡的切换效果呢,小伙伴们自己美化下就可以用到自己项目中去了。

  • 本文向大家介绍jQuery实现Tab选项卡切换效果简单演示,包括了jQuery实现Tab选项卡切换效果简单演示的使用技巧和注意事项,需要的朋友参考一下 本文实例针对jQuery实现Tab选项卡切换效果进行了简单演示,完全是自己的思考实现过程,分享给大家供大家参考。具体如下: 起初我Html代码架子是这样的: 后来换成了下面这个: 之所以换成这个,是因为我觉得 dl dt dd 在页面布局中用的比

  • 本文向大家介绍jQuery实现TAB选项卡切换特效简单演示,包括了jQuery实现TAB选项卡切换特效简单演示的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享jQuery实现TAB选项卡切换特效,供大家参考,具体内容如下 1、tab切换 on 2、tab切换 mouseenter 效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助。