Ma a te funziona cosi? a me no.
Cioè nel senso se io spunto una chekbox e poi senza spuntarne altre, mi elimina i markers.
Ma se io li spunto tutti, o cmq più di una, non elimina più i marker.
codice:
<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 = [];
$(".chek").click(function() {
var id_checkbox = $(this).val();
function AddMarker(lat,name,icon,id,index) {
marker = new google.maps.Marker({
animation: google.maps.Animation.DROP,
position: lat,
map: map,
icon: icon,
title: name
});
markers[index] = marker;
markers[index].id_cat = id;
}
if($(this).is(':checked')) {
$.post("ajax.php",{ type:id_checkbox,page: "mapHome" }, function(data) {
for (i=0; i <= data.marker.length; i++) {
var lat = new google.maps.LatLng(data.marker[i].latitude, data.marker[i].longitude);
AddMarker(lat, data.marker[i].nome, data.marker[i].marker, data.marker[i].id_cat,i);
}// ciclo for
},"json");//ajax
} else {
for (i = 0; i < markers.length; i++) {
if(id_checkbox == markers[i].id_cat) {
markers[i].setMap(null);
}
}
}
});
}
})();
</script>
codice:
JSON
{"marker":
[
{"id":"1","nome":"Gran Hotel","latitude":"37.85243901866244","longitude":"15.291252264031982","marker":"5star.png","id_cat":"1"},
{"id":"16","nome":"Eljabel","latitude":"37.85135733649974","longitude":"15.283279196434023","marker":"4star.png","id_cat":"1"}
]
}