Вот одна вещь, которую я попробовал - это сработало.
Я добавил поле наблюдения на страницу и затем использовал прототип Ajax.Updater, чтобы получить javascript для карты. Это работает примерно в 95% случаев, но я не верю, что это отработает последние 5%. После загрузки и выполнения javascript он вызывает глобальную функцию init_map, которая была определена при загрузке.
<% observe_field(:id_of_field_to_watch,
:function => "
new Ajax.Updater('map_id', '/filter/map',
{
evalscripts: true,
onComplete: function() { init_map() }
});
")
%>