使用谷歌地图和复选框进行过滤


Filter with Google Maps and checkbox

我需要帮助:当用户单击输入复选框时,我必须创建一个显示标记的映射。

示例:我点击"酒店",只看到酒店。我不再点击酒店,地图上的标记消失

代码:

<script type="text/javascript">
(function() {
window.onload = function(){


var latlng = new google.maps.LatLng(37.8530665, 15.287916300000006); 
var options = { 
zoom: 14,
center: latlng,
backgroundColor: '#fff',
mapTypeId: google.maps.MapTypeId.ROADMAP
}; 

var map = new google.maps.Map(document.getElementById('map_canvas'), options);
var markers = new Array(); 
$(".chek").click(function() {
if($(this).is(':checked')) {
var id_checkbox = $(this).val();
$.post("ajax.php?page=mapHome",{ id_checkbox:id_checkbox }, function(data) {    
for (i=0; i < data.marker.length; i++) { 
var marker = new google.maps.Marker({
position: new google.maps.LatLng(data.marker[i].latitude, data.marker[i].longitude), 
animation: google.maps.Animation.DROP,
map: map,
title: data.marker[i].nome,
icon: data.marker[i].marker
});
markers[i] = marker;
markers[i].id_cat = data.marker[i].id_cat; 
}// for
},"json");//json
} else {
//hide markers on the map
for (i = 0; i < markers.length; i++) {
if(id_checkbox == markers[i].id_cat) {
markers[i].setMap(null);
}
}

}


});

}
})();
</script>

我通过json进行查询并显示结果。

我看到setMap(null);,但没有setMap(map);