Google 地图 api Javascript 添加 onclick 到信息窗口

Google maps api Javascript add onclick to 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);
}

我收到未定义名称的错误。

我做错了什么?

您正在创建一个看起来像

的元素
<button onclick="markerCliked(Name)">Click</button>

在这种情况下,"Name" 是什么意思?没什么,这个函数不在创建元素的函数的范围内,所以 Name 没有任何意义

你可以

infowindow.setContent(Name + '<button onclick="markerCliked(\'' + Name + '\')" >Click</button>');

创建

<button onclick="markerCliked('value of name')">Click</button>

value of name 是创建按钮时变量 Name 的实际值......这会做你想要的