InfoWindows中的函数调用

时间:2014-01-24 08:20:08

标签: javascript google-maps-api-3 onclick infowindow

我经常会有很多标记的地图(假设代表商店)。我有infowindows显示标记所代表的商店的基本信息,然后,在infoWindow HTML上我想放一个按钮,例如,说“详细信息”。 infowindow的html很简单..信息窗口的html包含一个

input type="button" value="Show More" onclick="showMore(' + shopId + ');

每个标记的相关shopId明显不同......

问题是showMore函数必须声明为javascript的全局函数,否则infowindow找不到它。

让我们说所有代码(生成地图,放置标记,声明信息窗口等)都在一个名为function showShops() {}的函数中,showMore(id)函数在showShops()函数内,HOw可以我告诉“onclick”事件调用showShops函数中的showMore()函数?

只是检查我的代码,我已将其更改为onclick="alert(' + shopId + ') ..我正确地收到相关商店ID的提醒..

1 个答案:

答案 0 :(得分:6)

infowindow的内容可以是字符串或节点

要实现它,您必须使用将在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)});

简单演示:http://jsfiddle.net/doktormolle/8ZsSp/