GoogleMaps4Rails没有居中第一个标记

时间:2014-06-02 22:10:16

标签: ruby-on-rails google-maps gmaps4rails2

我正试图通过gmaps4rails gem在我的地图上打开我的第一个标记。 使用其页面中的侧边栏示例:

function createSidebarLi(json) {
                  return ("<li><a>" + json.title + "</a> (" + json.categories + "...)</li>");
              };

              function bindLiToMarker($li, marker) {
                  $li.on('click', function () {
                      handler.getMap().setZoom(14);
                      marker.setMap(handler.getMap()); //because clusterer removes map property from marker
                      marker.panTo();
                      google.maps.event.trigger(marker.getServiceObject(), 'click');
                  })
              };

handler = Gmaps.build('Google');

handler.buildMap({provider: {
                  mapTypeId: google.maps.MapTypeId.ROADMAP},
                  internal: {
                      id: 'map_sidebar'}}, function () {

                  var json_array = <%= raw @hash.to_json %>;
                  var markers = handler.addMarkers(json_array);

                  _.each(json_array, function (json, index) {
                      json.marker = markers[index];
                  });
                  createSidebar(json_array);
                  handler.bounds.extendWith(markers);
                  handler.fitMapToBounds();
              });

由于他们的版本切换,我有点困惑。有时它是serviceObject,然后它是getServiceObject,-...

我觉得这样的事情

marker.infowindow.open(map, marker.serviceObject);

或者

markers[0].getServiceObject() 
markers[0].panTo() 

应该有用吗?

有人可以帮帮我吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

buildMap回调

中执行此操作
google.maps.event.trigger(markers[0].getServiceObject(), 'click');