javascript - 在一页上渲染同一张谷歌地图两次

标签 javascript ruby-on-rails google-maps

我正在开发一个使用 CSS“制表符”分隔表单的 Rails 应用程序。我需要在两个选项卡中呈现相同的谷歌地图,但 map 仅附加到第一个 #map_canvas div。我目前拥有的:

# form.html.erb

<div class='tabs'>
  <div id='tab1'>
    <div class="map container">
      <div id="map_canvas"></div>
    </div>
  </div>
  <div id='tab2'>
    <div class="map container">
      <div id="map_canvas"></div>
    </div>
  </div>
</div>

# map.js

map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);

我的第一次尝试是局部渲染 map ,并引用两次,但效果相同。

有没有办法正确地做到这一点?

最佳答案

一个id在一个页面中应该是唯一的,你已经在页面中使用了'map_canvas'两次。您可以尝试使用类而不是使用 Id

 <div class='tabs'>
  <div id='tab1'>
    <div class="map container">
      <div class="map_canvas"></div>
    </div>
  </div>
  <div id='tab2'>
    <div class="map container">
      <div class="map_canvas"></div>
    </div>
  </div>
</div>

#js
 map = new google.maps.Map(document.getElementsByClassName("map_canvas"),mapOptions);

关于javascript - 在一页上渲染同一张谷歌地图两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30912691/

相关文章:

javascript - 受到束缚的 Promise 响应

JavaScript 回调函数

javascript - 根据其中子元素的文本值获取单行元素?

ruby-on-rails - ExecJS 失败,未定义 CoffeeScript

css - Bootstrap CSS 不显示在 Rails 元素中

javascript - Google Maps v3 API 扩展边界。 Javascript 操作方法?

javascript - latLng 返回空对象 - Google map javascript API

javascript - 是否可以在同一个元素上应用多个 AngularJS Controller

ruby-on-rails - 多个 mongoid 哈希值的原子 inc

android - 如何在 setOnInfoWindowClickListener 中获取在 Google Map 中单击的标记的 ID