我试图向我的infowindow添加onclick,在我点击它后会显示更大的信息窗口。
现在我只想表现出警报,但遇到麻烦。
这是我的信息代码:
google.maps.event.addListener(marker, 'click', (function (marker, i) {
return function () {
var Name = locations[i][0];
infowindow.setContent(Name + '<button onclick="markerCliked(Name)">Click</button>');
infowindow.open(map, marker);
}
})(marker, i));
我的onclick功能:
function markerCliked(Name){
alert("Pressed on network " + Name);
}
我收到一个名称未定义的错误。
我做错了什么?
答案 0 :(得分:2)
您正在创建一个看起来像
的元素<button onclick="markerCliked(Name)">Click</button>
&#34;姓名&#34;意味着在这种背景下?什么都没有,这个函数不在创建元素的函数的范围内,所以Name没有任何意义
你可以做到
infowindow.setContent(Name + '<button onclick="markerCliked(\'' + Name + '\')" >Click</button>');
创建
<button onclick="markerCliked('value of name')">Click</button>
value of name
是创建按钮时变量Name的实际值...这可以达到你想要的效果