Javascript 如何从google maps v3中删除标记?
我正在建立一个网站,显示当地的地方吃午饭。网站使用复选框隐藏和显示内容:-Javascript 如何从google maps v3中删除标记?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在建立一个网站,显示当地的地方吃午饭。网站使用复选框隐藏和显示内容:- <li>Sandwich: <input type="checkbox" checked="checked" id="sandwichbox" onclick="boxclick(this,'sandwich')" /></li> <li>Salad: <input type="checkbox" id="saladbox" onclick="boxclick(thi
<li>Sandwich: <input type="checkbox" checked="checked" id="sandwichbox" onclick="boxclick(this,'sandwich')" /></li>
<li>Salad: <input type="checkbox" id="saladbox" onclick="boxclick(this,'salad')" /></li>
<li>Pasta: <input type="checkbox" id="pastabox" onclick="boxclick(this,'pasta')" /></li>
三明治:
function hide(category) {
switch(category) {
case "sandwich":
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].sandwich == 1) {
gmarkers[i].setVisible(false);
}
}
break;
case "salad":
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].salad == 1) {
gmarkers[i].setVisible(false);
}
}
break;
case "pasta":
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i].pasta == 1) {
gmarkers[i].setVisible(false);
}
}
break;
}
}
函数隐藏(类别){
开关(类别){
“三明治”一案:
对于(var i=0;i我相信您希望使用变量访问对象属性。请使用括号表示法而不是点表示法。
假设有一个对象“person”
您可以访问“名称”属性,如
var name = person["name"]
当属性名称包含可能是语法错误或关键字/保留字的字符时,也可以使用括号表示法。例如:
person["first name"] = "Nicholas";
它还允许在大括号内使用变量名
person[propertyName] = "some value"; //propertyName is a variable
所以在你的情况下应该是
function hide(category) {
var mymarker = gmarkers[i][category];
for (var i=0; i<gmarkers.length; i++) {
if (mymarker == 1) {
gmarkers[i].setVisible(false);
}
}
}
函数隐藏(类别){
var mymarker=gmarkers[i][category];
对于(var i=0;i,如果类别是标记的一个属性,则应该可以:
function hide(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i][category] == 1) {
gmarkers[i].setVisible(false);
}
}
}
函数隐藏(类别){
对于(var i=0;iThanks,这是我想要的。我认为在gmarkers[i]抛出我之后,..name和[“name”]是等价的,这是我不理解的。当我试图传递category的值时,我没有意识到我必须使用[]。仅仅使用.category就被破坏了,因为没有category的XML节点(如果有道理的话)
person["first name"] = "Nicholas";
person[propertyName] = "some value"; //propertyName is a variable
function hide(category) {
var mymarker = gmarkers[i][category];
for (var i=0; i<gmarkers.length; i++) {
if (mymarker == 1) {
gmarkers[i].setVisible(false);
}
}
}
function hide(category) {
for (var i=0; i<gmarkers.length; i++) {
if (gmarkers[i][category] == 1) {
gmarkers[i].setVisible(false);
}
}
}