0

我正在尝试通过 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() 

应该管用?

有人可以帮我吗????

非常感谢!

4

1 回答 1

0

buildMap回调中执行此操作

google.maps.event.trigger(markers[0].getServiceObject(), 'click');
于 2014-06-03T18:28:58.203 回答