javascript - map 在第一次打开页面时不加载,重新加载后即可工作

标签 javascript ruby-on-rails ruby google-maps gmaps4rails

我使用 gmaps4rails gem,并且 map 并不总是在打开第一页时加载,重新加载后即可工作。

enter image description here

所以,我的代码 show.html.haml

    %script{:src => "//maps.google.com/maps/api/js?v=3.13&sensor=false&libraries=geometry", :type => "text/javascript"}
    %script{:src => "//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js", :type => "text/javascript"}

........

    .col-lg-8.col-sm-8.col-md-8.col-xs-12
        #map
        %br/

......

    :javascript
        handler = Gmaps.build('Google');
        handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
            markers = handler.addMarkers(#{raw @hash.to_json});
            handler.bounds.extendWith(markers);
            handler.fitMapToBounds();
            handler.getMap().setZoom(16);
        });

parks_controller.rb

  def show
    set_park
    @hash = Gmaps4rails.build_markers(@park) do |park, marker|
      marker.lat park.latitude
      marker.lng park.longitude
      marker.infowindow park.address
    end

index.html.haml

 - @parks.each do |park|
    .map_index
      .image_wrapper
        = image_tag "http://maps.google.com/maps/api/staticmap?size=400x200&sensor=false&zoom=16&markers=#{park.latitude}%2C#{park.longitude}", class: "map_image"
      %h2
        = link_to park.title, park

工作应用程序 - https://geoparks.herokuapp.com/

请告诉我要更改或添加到代码中的内容?

最佳答案

我只是添加到转到 map 页面参数的链接

'data-no-turbolink' => true

index.html.haml中的代码= link_to p.title, park更改为

= link_to park.title, park, 'data-no-turbolink' => true

关于javascript - map 在第一次打开页面时不加载,重新加载后即可工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939535/

相关文章:

javascript - jQuery 包装语法

javascript - 使用 JavaScript 书签从图像链接中提取替代文本

ruby-on-rails - Rails 迁移错误 - 关系 'users' 不存在 ('"用户"'::regclass) - (rails 3.2.6/Postgresql)

ruby-on-rails - Rails - 如何将 .new/.save 更改为 .create

ruby-on-rails - 我如何重构将此数组转换为哈希

javascript - 覆盖库中的悬停事件

javascript - 以 Express 方式跨域传输 Cookie

ruby-on-rails - 为什么拥有 Puma 进程的用户可以加载 Bundler?

ruby-on-rails - 在 ID 存在时获取 "Unknown primary key for table"

asp.net - 浏览器 IP 地址