2012-05-06 56 views
0

[請參閱https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Markers]使用gmap4rails,您如何渲染特定於標記的輔助HTML內容以及GMap?

我遵循了創建GMap邊欄的說明。這不是我想要實現的 。熊在我的GMAP包含 異構的標記,而我想強調 附近的GMAP輔助HTML內容的子集(例如,在一個表或其他)記:

問題1:你在哪裏循環在所有標記上並只選擇那些您想要輔助HTML內容的 ? (我知道你有塊支持 邏輯補充默認JSON每個標記,我不知道這就是我所需要的。)

問題2:有沒有在JavaScript一些回調,我可以實現, 所以當一個標記被渲染時,我可以檢查它是什麼類型的標記,然後適當修改DOM(即輔助HTML內容)?

我認爲每個標記的JSON應具有 可以唯一標識該標記的屬性。也許現在它只是「描述」 屬性。然後,如果我們在javascript中有一些回調,我們只能將 僅限於屬於某個「描述」類別的標記 - 例如, 「紅色,白色和藍色」標記。然後,JavaScript中的回調可以操作DOM中的相關元素,從而在GMap旁邊創建輔助定製HTML內容 。

回答

1

如果你想獲得的唯一標識符每個標記,你應該使用每個對象ID:

your_objects.to_gmaps4rails do |obj, marker| 
    marker.json({id: obj.id}) 
end 

正確答案爲:

所有標記默認存儲在Gmaps.map.markers。您可以通過以下方式獲得第一個標記的編號:Gmaps.map.markers[0].id

因此,使用您的邏輯創建您自己的函數。

ANSWER2:

回調使用的是Gmaps.map.callback

基本上做到:

<%= gmaps(your_options) %> 

<% content_for :scripts do %> 
<script type="text/javascript"> 
Gmaps.map.callback = function() { 
    //your code 
} 
</script> 
<% end %> 
+0

這爲我工作。謝謝。 –

相關問題