Здравствуйте делаю гугл мап фильтер по категориям! есть такой код JS:
<script type="text/javascript">
var map;
var infowindow;
var image = [];
var gmarkers = [];
image['attraction'] = 'http://google-maps-icons.googlecode.com/files/beach.png';
image['food'] = 'http://google-maps-icons.googlecode.com/files/restaurant.png';
image['hotel'] = 'http://google-maps-icons.googlecode.com/files/hotel.png';
image['city'] = 'http://google-maps-icons.googlecode.com/files/smallcity.png';
function mapInit(){
var centerCoord = new google.maps.LatLng(41.70752269548981, 44.79205369949341);
var mapOptions = {
zoom: 7,
center: centerCoord,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), mapOptions);
google.maps.event.addListener(map, 'click', function() {
infowindow.close();
});
jQuery.getJSON("json.php", function(json) {
if (json.length > 0) {
for (i=0; i<json.length; i++) {
var place = json[i];
var category = json[i].tag;
addLocation(place,category);
}
}
});
function addLocation(place,category) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(place.lat, place.lng),
map: map,
title: place.name,
icon: image[place.tag]
});
marker.mycategory = category;
gmarkers.push(marker);
google.maps.event.addListener(marker, 'click', function() {
if (infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({
content: "<h3>"+ place.name +"</h3><p>" + place.tag +"</p><a href='/places/"+place.id+"'>Show more!</a>"
});
infowindow.open(map, marker);
});
}
function show(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setVisible(true);
}
}
document.getElementById(category+"box").checked = true;
}
function hide(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setVisible(false);
}
}
document.getElementById(category+"box").checked = false;
infowindow.close();
}
function boxclick(box,category) {
if (box.checked) {
show(category);
} else {
hide(category);
}
}
$('#attractionbox').click(function () {
boxclick(this, '1');
});
}
jQuery(document).ready(function(){
mapInit();
});
</script>
и обработчик json.php
<?php
include('connect.php');
$sql = "SELECT * FROM vaucherebi";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$rows[] = array(
"lat" => $row['lat'],"lng" => $row['lng']);
}
$json = json_encode($rows);
$callback = $_GET['callback'];
echo $callback.'('. $json . ')';
?>
не получается сделать слдующее на клик чекбокса! первый он не исчезает! на второй на! но мне это не нудно! нужно сделать так что бы например я кликнул на этот чекбокс! и остались те маркеры которые относятся к её категории а остальные скрывались! Надеюсь вы меня понял! Спасибо за внимание!