InfoWindows中的函数调用

use*_*130 2 javascript onclick infowindow google-maps-api-3

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

input type="button" value="Show More" onclick="showMore(' + shopId + ');
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Dr.*_*lle 6

信息窗口的内容可以是字符串或节点.

要实现它,您必须使用将在范围内创建的节点 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)});
Run Code Online (Sandbox Code Playgroud)

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