【问题标题】:Getting infoWindow open by default in Gmaps for rails在 Gmaps for rails 中默认打开 infoWindow
【发布时间】:2014-11-14 02:27:23
【问题描述】:

这就是我用标记显示地图的功能

<%= 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 在页面加载时默认打开。

谢谢

【问题讨论】:

  • 你用的是哪个版本?
  • @apneadiving 我正在使用 2.1.2 gmaps4rails
  • @apneadiving 对此的任何帮助都非常感谢。谢谢:)
  • 你为什么不给我赏金?请注意,无论如何您都不会拿回您的积分
  • @apneadiving 抱歉,我错过了。我也很有意。再次感谢:)

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


【解决方案1】:

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

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

Here is a working demo

并删除带有Gmaps.map.callback 的部分,它适用于 1.x

【讨论】:

    猜你喜欢
    • 2013-02-12
    • 2018-12-16
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多