0

このJavaScriptコードは、Rails3.2アプリでgmaps4railsgemを使用して最初に入力したGoogleマップ上のすべてのマーカーを非表示にします。

var markers=Gmaps.map.markers
for(i=0;i<markers.length;i++){markers[i].serviceObject.setVisible(false); }

私が抱えている問題は、上記のコードが実行される前後で、「クラスター」が同じカウンターを表示することです。少し調べてみましたが、クラスターを更新するために追加する書き込み行がわかりませんでした。

PS私は「クラスター」が私が話していることの正しい名前であるとかなり確信しています。私が言及しているのは、個々のマーカーを区別するのに十分なスペースがないビューにズームアウトしたときにマップが表示するカウンターであり、マップには、マップの数をカウントした色付きの円形のアイコンが表示されますその領域のマーカー。

4

1 に答える 1

0

別のマーカーのセットでマップを更新する場合は、それらdifferentMarkersを呼び出すことができます。

var differentMarkers = ...
Gmaps.map.replaceMarkers(differentMarkers);

クラスターが更新されます。

既存のセットにマーカーを追加する場合は、

var additionalMarkers = ...
Gmaps.map.addMarkers(additionalMarkers);

replaceMarkersマーカーを削除する方法は見つかりませんでしたが、マーカーが削除された配列で を呼び出すことができます。

これが意図された方法であるかどうかはわかりませんが、うまくいくようです。


この方法でのマーカーの追加と置換については、gmaps4rails の wiki でも説明されています。https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Javascript-goodies

于 2013-01-15T19:24:40.053 に答える