GMaps在重新加载后无法在第一个打开的页面加载

时间:2015-10-04 23:41:49

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

我使用gmaps4rails gem并且在重新加载后,第一页打开时并不总是加载地图。

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/

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

1 个答案:

答案 0 :(得分:1)

我只是添加到地图页面参数

的链接
'data-no-turbolink' => true

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

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