本文介绍了如何使用Rails中的Gmap4Rails更新Clusterer上的markerClusterer计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码根据类型筛选标记
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);
}
});
此代码会隐藏该标记,但不会更新Clusterer在地图上的数量。
如何更新地图上的Clusterer数量
解决方案
请使用此代码
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.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);
}
});
I have filter marker based on type by below code
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);
}
});
this code hide that marker but its not update Clusterer count on the map.
how to update Clusterer count on map
解决方案
Please try with this code
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();
});
for manage event try with this code
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);
}
});
这篇关于如何使用Rails中的Gmap4Rails更新Clusterer上的markerClusterer计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!