我正在创建一个这样的对象:
markers[name] = {};
markers[name].id = id;
markers[name].lat = lati;
markers[name].lng = longi;
markers[name].state = state;
markers[name].position = posi;
markers[name].selected = false;
然后我有一个新功能,我想循环标记对象并更改标记图像.selected已设置为true。
以下是我的尝试:
function setMarkerImage() {
for (var key in markers) {
console.log("test 1: " + key + key.selected);
if (key.selected === true)
{
console.log("test 2");
var newImage = new google.maps.MarkerImage('img/presence/' + state + '_sel.png');
var marker = $("#dispatcher").gmap3({action: 'get', name:'marker', tag: key})
if (marker){
marker.setIcon(newImage);
}
}
}
}
问题是我得到了
test 1: Vinceundefined
在控制台中,我认为我不能像这样使用key.selected吗?
答案 0 :(得分:3)
key
不是对象,因此它没有selected
键。请尝试使用
console.log("test 1: " + key + markers[key]["selected"]);