首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails中的Mapbox.js呈现空白

Rails中的Mapbox.js呈现空白
EN

Stack Overflow用户
提问于 2017-03-08 13:38:51
回答 2查看 230关注 0票数 0

我是Rails、HTML和CSS的初学者,我正试图在我的Rails应用程序中呈现一个Mapbox.js映射。然而,地图没有出现。正如您在图片中所看到的,缩放控件确实会正确显示。

当我试图解决错误时,我偶然发现了常见问题。我已经确认我的访问令牌、地图ID和帐户使用限制不是问题。

以下是我的代码:

代码语言:javascript
运行
复制
<script src='https://api.mapbox.com/mapbox.js/v3.0.1/mapbox.js'></script>
<link href='https://api.mapbox.com/mapbox.js/v3.0.1/mapbox.css' rel='stylesheet'/>

<div class="content">
  <% if @points[@unit.name] != nil && @points[@unit.name].length %>

      <div id='map' style="
          position: relative;
          margin-left: -10px;
          bottom: 0;
          width: 700px;
          height: 700px;">
      </div>

      <script type='text/javascript'>
          L.mapbox.accessToken = 'heres-my-access-token';
          var map = L.mapbox.map('map', 'mapbox.satellite').setView([52.214360, 6.860573], 8);
      </script>

  <% end %>

... other <div>s

</div>

<script>
    $('map').show();
    map.invalidateSize();
</script>

我在一个相当大的应用程序中工作,所以这个问题可能是由样式或什么引起的。我根据FAQ提示进行了检查,页面上的元素并没有被设置为最初的“隐藏”位置。我不太确定invalidateSize()命令的放置是否正确.

我现在几乎被困住了-有人有其他的想法来解决这个问题吗?

EN

Stack Overflow用户

发布于 2017-03-08 14:00:43

$('map').show();是否应该是$('#map').show();

您也可以通过只在doc上运行它来检查这是否启动得太快。

代码语言:javascript
运行
复制
$(function() {
  $('#map').show();
  map.invalidateSize();
});
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42672883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档