2012-04-02 2 views
1

Я не могу получить обратный вызов Javascript для работы с gmaps4_rails, когда карта загружена или находится в состоянии ожидания.Неисправность получения обратных вызовов Gmaps4rails

на основе вики и это другой вопрос SO Dynamically load Google Maps Markers with gmaps4rails я думал, что это будет стрелять все предупреждения в этой точке зрения:

<%= gmaps(:map_options => {:detect_location => true, 
          :center_on_user => true, 
          :auto_zoom => true, 
          :zoom => 12, 
          :auto_adjust => false}, 
      :markers => {:data => @json, 
         :options => {:processsing => "@json", 
            :list_container => "markers_list", 
            :do_clustering => true 
                 } }) %> 
<ul id="markers_list"> </ul> 

<script type="text/javascript" charset="utf-8"> 
    alert("About to register callback"); 
    Gmaps.map.callback = function() { 
    alert("Map Loaded Callback Reached"); 
    } 

    function gmaps4rails_callback() { 
    alert("gmaps4_rails callback"); 
    } 
</script> 

<%= yield :scripts %> 

Вместо этого я только получить «о зарегистрировать обратный вызов» предупреждение. Остальные функции никогда не называются. У меня такое чувство, что я что-то недопонимаю в пространстве имен, но любое понимание будет оценено по достоинству. Я пытаюсь настроить настройки для обновления с конечной точки JSON по мере перемещения карты, но мне не удастся пройти мимо этого первый шаг, чтобы убедиться, что я могу вызвать обратный вызов.

Следует отметить, что карта отображается нормально, и мои исходные данные все там.

ответ

1

Согласно документации here, вы должны обернуть код JS в content_for :scripts

Почему?

Потому что gmaps4rails js код должен быть загружен первым.

+0

У вас есть более одного Gmaps.map.callback? – kidbrax

+0

@kidbrax: на карту есть только один обратный вызов. 'Gmap.map' - одна карта – apneadiving

+0

Спасибо. Я разместил связанный с ним вопрос по адресу http://stackoverflow.com/questions/14144350/gmaps4rails-callback-not-firing, если вы хотите взглянуть. – kidbrax

Смежные вопросы