Pregunta

I am trying to open my first marker on my map via the gmaps4rails gem. Using the sidebar example from their page:

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();
              });

I am bit confused because of their Version switch. Sometimes it's serviceObject, then it's getServiceObject,-...

I thought something like this

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

or this

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

should work?

Can someone please help me out????

Many thanks!

¿Fue útil?

Solución

do this in the buildMap callback

google.maps.event.trigger(markers[0].getServiceObject(), 'click');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top