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"} ] }

Rispondi quotando