Javascript 如何使用rails中的Gmap4Rails更新Clusterer上的markerClusterer计数显示

Javascript 如何使用rails中的Gmap4Rails更新Clusterer上的markerClusterer计数显示,javascript,jquery,ruby-on-rails-3,google-maps,gmaps4rails,Javascript,Jquery,Ruby On Rails 3,Google Maps,Gmaps4rails,我有一个基于下面代码类型的过滤器标记 filters= ['office','home'] $.each(Gmaps.map.markers, function(i, marker) { if(filters.length < 1){ Gmaps.map.showMarker(marker); }else if(filters.indexOf(marker.type) > -1){ Gmaps.map.showMarker(marke

我有一个基于下面代码类型的过滤器标记

filters= ['office','home']

$.each(Gmaps.map.markers, function(i, marker) {
    if(filters.length < 1){
        Gmaps.map.showMarker(marker);
    }else if(filters.indexOf(marker.type) > -1){
        Gmaps.map.showMarker(marker);
    }else{
        Gmaps.map.hideMarker(marker);
    }
});
filters=['office','home']
$.each(Gmaps.map.markers,函数(i,marker){
如果(过滤器长度<1){
gmap.map.showMarker(marker);
}else if(filters.indexOf(marker.type)>-1){
gmap.map.showMarker(marker);
}否则{
Gmaps.map.hideMarker(marker);
}
});
此代码隐藏该标记,但不在地图上更新群集计数

如何更新地图上的群集计数


请尝试使用此代码

    handler = Gmaps.build('Google');
    handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
        markers_json = <%=raw @json.to_json %>;
        Gmaps.markers = _.map(markers_json, function(marker_json){
            marker = handler.addMarker(marker_json);
            _.extend(marker, marker_json);
            return marker;
        });
        handler.bounds.extendWith(Gmaps.markers);
        handler.fitMapToBounds();
    });
handler=Gmaps.build('Google');
buildMap({provider:{},internal:{id:'map'}},function(){
标记_json=;
Gmaps.markers=\ ujson.map(markers\ ujson,函数(marker\ ujson){
marker=handler.addMarker(marker_json);
_.extend(marker,marker_json);
返回标记;
});
handler.bounds.extendWith(Gmaps.markers);
handler.fitMapToBounds();
});
对于管理事件,请尝试使用此代码

    handler.clusterer.clear();
    $.each(Gmaps.markers, function(i, marker) {
         if(filters.length < 1){
               marker.show();
               handler.clusterer.addMarker(marker)
           }else if(filters.indexOf(marker.type) > -1){
              handler.clusterer.addMarker(marker);
              marker.show();
          }else{
              marker.hide();
              handler.clusterer.removeMarker(marker);
           }
    });
handler.cluster.clear();
$.each(Gmaps.markers,函数(i,marker){
如果(过滤器长度<1){
marker.show();
handler.clusterer.addMarker(标记器)
}else if(filters.indexOf(marker.type)>-1){
handler.cluster.addMarker(marker);
marker.show();
}否则{
marker.hide();
handler.cluster.removeMarker(marker);
}
});

如果您能更新到2.x,那就太好了,在2.x中这是直接内置的,但问题是相同的2.x代码是什么?$.each(Gmaps.markers,function(i,marker){if(filters.length<1){marker.show();}else if(filters.indexOf(marker.type)>-1){marker.show();}else{marker.hide();}});