Javascript 显示类别中的标记并在单击时隐藏其余标记
我有一个分类清单Javascript 显示类别中的标记并在单击时隐藏其余标记,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我有一个分类清单 旅馆 餐馆 单击hotels,显示具有此类别的标记。然后点击餐厅显示餐厅类别中的标记。当我点击餐厅时,如何隐藏其他标记 // == hide all markers of a particular category, and ensures the checkbox is checked == function hide(category) { for (var i=0; i<gmarkers.length; i++) { if (gmar
- 旅馆
- 餐馆
// == hide all markers of a particular category, and ensures the checkbox is checked ==
function hide(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setVisible(false);
}
}
}
// == show all markers of a particular category, and ensures the checkbox is cleared ==
function show(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setVisible(true);
}
}
// == close the info window, in case its open on a marker that we just hid
infowindow.close();
}
// == a checkbox has been clicked ==
function boxclick(box,category) {
if (box.checked) {
hide(category);
} else {
show(category);
}
// == rebuild the side bar
makeSidebar();
}
/==隐藏特定类别的所有标记,并确保选中复选框==
函数隐藏(类别){
对于(var i=0;i,您只需将它们的映射设置为null
function show(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setMap(mymap);
}
else {
gmarkers[i].setMap(null);
}
}
}
function hide(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setMap(null);
}
else {
gmarkers[i].setMap(mymap);
}
}
}
功能显示(类别){
对于(var i=0;i我找到了一个简单的解决方案:)
函数显示隐藏(类别){
对于(var i=0;i您的类别是什么?如果您有一个Javascript中公开的类别列表,您可以在框中遍历它,单击并只隐藏与category
参数不匹配的所有内容。类别被添加到标记中,如show
函数中,以替换gmarkers[i].setVisible(true);
。
function showhide(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].mycategory == category) {
gmarkers[i].setVisible(true);
} else {
gmarkers[i].setVisible(false);
}
}
makeSidebar();
}