0

[https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Markersを参照]

GMapサイドバーを作成するための指示に従いました。これは私が達成したいことではありません。私のGMapには異種マーカーが含まれていることに注意してください。そのサブセットは、GMapの近くの補助HTMLコンテンツ(たとえば、テーブルなど)で強調表示したいと思います。

質問1:すべてのマーカーをどこでループし、補助HTMLコンテンツが必要なマーカーのみを選択しますか?(各マーカーのデフォルトのJSONを補足するためのブロックサポートロジックがあることは知っています。それが必要かどうかはわかりません。)

質問2:JavaScriptに実装できるコールバックがあります。これにより、マーカーがレンダリングされたときに、マーカーの種類を確認して、DOM(つまり補助HTMLコンテンツ)を適切に変更できますか?

私の見解では、各マーカーのJSONには、そのマーカーを一意に識別できるプロパティが必要です。たぶん今のところ、それは単に「説明」属性です。次に、javascriptにコールバックがある場合、特定の「説明」カテゴリに属する​​マーカー(たとえば、「赤、白、青」のマーカー)のみを区別できます。次に、JavaScriptのコールバックは、DOM内の関連する要素を操作できるため、GMapと一緒に補助的なカスタムHTMLコンテンツを作成できます。

4

1 に答える 1

1

各マーカーの一意の識別子を取得する場合は、すべてのオブジェクトIDを使用する必要があります。

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

回答1:

すべてのマーカーはデフォルトでに保存されますGmaps.map.markers。この方法で最初のマーカーのIDを取得できます。Gmaps.map.markers[0].id

したがって、適切なロジックを使用して独自の関数を作成します。

回答2:

使用するコールバックはですGmaps.map.callback

基本的に、次のことを行います。

<%= gmaps(your_options) %>

<% content_for :scripts do %>
<script type="text/javascript">
Gmaps.map.callback = function() {
  //your code
}
</script>
<% end %>
于 2012-05-06T17:29:02.520 に答える