我常常有很多标记的地图(比方说代表商店)。我有infowindows显示标记所代表的商店的基本信息,然后,在infoWindow HTML上我想放一个按钮,例如,说“详细信息”。 infowindow的html很简单..信息窗口的html包含一个
input type="button" value="Show More" onclick="showMore(' + shopId + ');
每个标记的相关shopId明显不同......
问题是showMore函数必须声明为javascript的全局函数,否则infowindow找不到它。
让我们说所有代码(生成地图,放置标记,声明信息窗口等)都在一个名为function showShops() {}
的函数中,而showMore(id)
函数在showShops()函数内部,我可以告诉“onclick”事件来调用showMore ()函数里面的showShops函数?
只是为了检查我的代码,我已将其更改为onclick="alert(' + shopId + ')
..并且我正确地获得了相关商店ID的提醒。
信息窗口的内容可以是字符串或节点。
要实现它,您必须使用将在showShops()
范围内创建的节点
这样一个节点的样本创建:
var content = document.createElement('div');
content.innerHTML = 'some text<br/>';
var button = content.appendChild(document.createElement('input'));
button.type = 'button';
button.value = 'click me!';
google.maps.event.addDomListener(button,'click', function(){showMore(id)});