Google Rails 的地图:地图加载回调后

Google maps for Rails: after map load callback

如何在 Rails 的 Gmaps 信息 window 中添加回调函数?我需要为 里面 的 window.

按钮写一个 Ajax/JSON 函数

搜索并没有让我走得太远。有帮助吗?

<script type='text/javascript'>
  handler = Gmaps.build('Google');
  handler.buildMap({
    provider: {
      mapTypeId: google.maps.MapTypeId.SATELLITE
    },
    internal: { id: 'map' }
  },
  function(){
    markers = handler.addMarkers(<%= raw @map_hash.to_json %>);
    handler.bounds.extendWith(markers);
    handler.fitMapToBounds();
    // trying to add this function
    google.maps.event.addListenerOnce(handler.map, 'idle', function() {
    console.log('map loaded');
    $('.survey-response').click(function() {
      var id = $(this).attr('data-id');
      var response = $(this).attr('data-response');
      console.log(id + ' ' + response);
      $.getJSON('/potentials/' + id + '/' + response, function (data) {
        console.log(data);
      })
    })
  })
  });
</script>

从上面(评论之后)删除回调并使用此代码:

google.maps.event.addListener(Gmaps.map, "click", function() {
  alert("You clicked the map.");
});

Returns 这个错误:

Cannot read property '__e3_' of undefined

谢谢。

您应该创建自己的构建器来处理信息窗口 as explained there

这样您就可以根据需要绑定您的js事件。