2013-02-11 98 views
0

我有,我展示一些地方從給定的地址的距離的列表。當使用過濾系統時,此列表由ajax更新。在我的部分_place.html.haml我用這個:Gmap4Rails.direction在部分渲染通過AJAX

- distance = Gmaps4rails.destination({:from => session[:address], :to => place.full_address}, options={}, output='pretty') 
    %p= "Distance: #{distance.first["distance"]["text"]} (#{distance.first["duration"]["text"]})" 

現在,當我提出我的過濾器的形式與AJAX(使用pjax本)Ajax調用做得正確,但通過AJAX渲染局部後的頁面在調用函數Gmaps4rails.destination之後刷新完整(沒有ajax)。所以它剎住了ajax調用/函數。

當我刪除我的部分_place.html.haml阿賈克斯過濾功能這個代碼工作完美的,完整的網頁不刷新。我應該做什麼/更改以使其與ajax一起工作?

回答

0

對不起,我並沒有完全得到您的問題,但是從描述,它看起來像你正在使用pjax也顯示地圖與一些過濾條件。

我也用pjax和谷歌地圖在一個應用程序。

方案:單頁上我有兩個突片,在突片開關我用pjax加載相同的div內的內容。在兩個選項卡上,我想顯示地圖,兩個選項卡都使用相同的地圖容器,所以我遇到的問題是,pjax成功運行,但地圖未加載。 (加載地圖標記我加入這是得到執行,但不能反映正常的AJAX調用。)

解決方案: 添加pjax:結束事件

$("#your-div").bind 'pjax:end', -> 
    # load you markers or call gmap related event 

所以一旦你pjax被完成,你的地圖相關的事件會發生。

這可能不是直接解決您的問題。但希望這會有所幫助。 謝謝。