您好我是javascript的新手。访问json对象的最佳方法是什么,在这种情况下,“js”,以便我可以使每个标记具有不同的内容?现在每个标记显示相同的键值(最后一个键值)
js = JSON.parse(jss);
var infowindow;
infowindow = new google.maps.InfoWindow({
content: js.length + ' ' + iter//String(jss.length)
});
var iter = 0;
for (var key in js){
mark = new google.maps.Marker({
position: new google.maps.LatLng(key*0.5,key*0.5),
map: map,
title: 'Uluru (Ayers Rock)'
});
google.maps.event.addListener(mark, 'click', function(){
infowindow.setContent(key.toString());
infowindow.open(map,this);
});
}
答案 0 :(得分:0)
每次执行循环时,您需要存储密钥副本以传递到onclick函数,例如:
s = JSON.parse(jss);
var infowindow;
infowindow = new google.maps.InfoWindow({
content: js.length + ' ' + iter//String(jss.length)
});
var iter = 0;
for (var key in js){
var mark = new google.maps.Marker({
position: new google.maps.LatLng(key*0.5,key*0.5),
map: map,
title: 'Uluru (Ayers Rock)'
});
var keystring=key.toString();
google.maps.event.addListener(mark, 'click', function(){
infowindow.setContent(keystring);
infowindow.open(map,this);
});
}
答案 1 :(得分:0)
而不是in,尝试使用for循环,
for (var i=0; i<js.length; i++) {
mark = new google.maps.Marker({
position: new google.maps.LatLng(js[i]*0.5,js[i]*0.5),
map: map,
title: 'Uluru (Ayers Rock)'
}