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 に答える