默认情况下,在Gmaps for rails中打开infoWindow

时间:2014-11-14 02:27:24

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

这就是我用标记

显示地图的方法
<%= javascript_tag do%>
var handler = Gmaps.build('Google');
handler.buildMap({ internal: {id: 'multi_markers'}}, function(){
    var markers = handler.addMarkers(<%=raw @hash.to_json %>);
    handler.bounds.extendWith(markers);
    handler.fitMapToBounds();
});
<%end%>
<% content_for :scripts do %>
  <script type="text/javascript" charset="utf-8">
    Gmaps.map.callback = function() {
      if (Gmaps.map.markers.length == 1) {
        var marker = Gmaps.map.markers[0];
        var infowindow = marker.infowindow;
         infowindow.open(Gmaps.map.map, marker);
      }
    }
  </script>
<% end %>

我不确定如何在页面加载时尝试将infoWindows / markers打开为默认值。

由于

1 个答案:

答案 0 :(得分:4)

解决方案包括触发标记上的click事件,然后调整地图。

_.each(markers, function(marker){
  google.maps.event.trigger(marker.getServiceObject(), 'click');
});

Here is a working demo

删除Gmaps.map.callback的部分,其中的部分为1.x